0

MySQL初学者。

运行一个项目(由其他人编写)。为它获得了新的数据库,将其放入 MySQL 中。现在出现错误

1452 Cannot add or update child row: a foreign key constraint fails ('proj'.'access_logs', CONSTRAINT 'access_logs_ibfk_1' FOREIGN KEY ('user_id') REFERENCES 'users' ('id'))

access_logsaccess_logs_ibfk_1,usersusers_ibfk_1,-4,-5,-6- 其中 4 个

已查看并尝试过:

  • 确保accesslogs user_id没有匹配users id
  • 排序规则相同(utf8_general_ci)
  • 引擎相同(InnoDB)
  • 类型相同(user_id是 INT(11) UN,idINT(11) UN PK AI)
  • 确保程序可以正常使用以前的数据(它在 CakePHP 1.3 中)并且可以正常工作

可能出了什么问题,如何解决?

4

1 回答 1

0

您在 tableaccess_logs中有一个接受 a的字段user_id,该数字必须首先存在于 table usersin field 中id

外键(或简称 FK)是对您插入到表中的数据的约束,这意味着您插入到表 A 中的值必须首先存在于其他表中。该表中的哪个其他表和哪个字段取决于您如何定义 FK。

我会阅读有关基于 SQL 的服务器的常见约束(主键、非空键、唯一键和外键)

于 2013-06-27T22:10:17.507 回答