我遵循了这里的建议,但在将数据库导入本地XAMPP安装后,我仍遇到同样的问题。
我的sql转储包含在这些标记中:
SET FOREIGN_KEY_CHECKS=0;
// FULL DB DUMP
SET FOREIGN_KEY_CHECKS=1;
即便如此,我收到此错误消息:
Error
SQL query:
ALTER TABLE `mage_catalog_eav_attribute` ADD CONSTRAINT `FK_CATALOG_EAV_ATTRIBUTE_ID` FOREIGN KEY ( `attribute_id` ) REFERENCES `mage_eav_attribute` ( `attribute_id` ) ON DELETE CASCADE ON UPDATE CASCADE ;
MySQL said: Documentation
#1452 - Cannot add or update a child row: a foreign key constraint fails (`myDB_NAME`.<result 2 when explaining filename '#sql-2e0_5a'>, CONSTRAINT `FK_CATALOG_EAV_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `mage_eav_attribute` (`attribute_id`) ON DE)
任何人都可以帮助我了解禁用这些检查还需要什么,或者防止出现此错误吗?
我正在运行Magento 1.4.2,并通过xampp使用phpmyadmin导入。
答案 0 :(得分:3)
当我使用phpMyAdmin MySQL导出并将其放入另一个phpMyAdmin接口时,我发现预先存在的表导致了约束问题。由于关键限制,删除表格也存在问题。
导入时,请确保当前数据库表没有键约束。我通过放弃表格来做到这一点。
为了删除表,我通过在phpMyAdmin的SQL屏幕中为相关数据库执行这样的SQL代码来关闭约束检查。
SET foreign_key_checks = 0;
DROP TABLE civicrm_acl;
... all of the problem tables with their constraints...
DROP TABLE civicrm_worldregion;
SET foreign_key_checks = 1;
(后者SET很好管家)
然后,我能够进行导入。当我查看我的MySQL导出时,它在数据到位后在导入结束时添加了约束。如果您的MySQL导入在数据到位之前放入约束,那将阻止导入完全正常工作。
答案 1 :(得分:1)
不要通过Phpmyadmin导入。它通常很糟糕。使用命令行。
这应该有效:
cat your_mysql_dump_file.sql | mysql -uyour_user -p myDB_NAME