转储数据时的外键约束
Posted
技术标签:
【中文标题】转储数据时的外键约束【英文标题】:Foreign key constraints while dumping data 【发布时间】:2010-11-25 20:06:21 【问题描述】:mysqldump --compact --no-create-info -h192.168.150.180 -uroot -p live pnlbus_stops | sed s/pnlbus_stops/bus_stops/g | mysql test
我收到一个错误: 第 1 行出现错误 1062 (23000):密钥 1 的重复条目“AN”
这是因为测试数据库中的 bus_stops 表具有外键约束。在从“实时”数据库插入之前,如何在 SINGLE STATEMENT 中截断测试数据库中的 bus_stops 表?
【问题讨论】:
我已经设法通过在 mysqldump 语句之前添加 echo "truncate table test.bus_stops" 来解决它。但是有没有更好的方法? 截断表?但我不明白你要做什么...... 【参考方案1】:放
set FOREIGN_KEY_CHECKS = 0;
在转储文件的顶部
然后放
SET FOREIGN_KEY_CHECKS = 1;
在转储文件的底部
【讨论】:
我只是重新阅读了您的问题,我也不明白您要做什么以上是关于转储数据时的外键约束的主要内容,如果未能解决你的问题,请参考以下文章