SQLSTATE错误23000完整性和数据库违规,更新或添加外键时出错

时间:2019-06-14 18:16:25

标签: php mysql laravel eloquent

我遇到了SQL问题。 我不能添加多个记录行,当我添加第一条记录行时,它行得通,但是当我添加第二条记录行时,它行不通,因此我必须删除其中一行才能添加另一行。

理论上,保存机制有效,但仅用于保存行

"SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or
 update a child row: a foreign key constraint fails (`Gadi`.`printers`,
 CONSTRAINT `printer_id` FOREIGN KEY (`id`) REFERENCES `users` (`id`))
 (SQL: insert into `printers` (`link_printer`, `name_printer`,
`printer_id`, `updated_at`, `created_at`) values (a/printer/api/a?
apikey=e2ddc036-f883-460e-beb6-fc41026d720d&a=stateList&data=, Impre3d,
 1, 2019-06-14 18:08:30, 2019-06-14 18:08:30)) ◀"

在上面的错误中清楚地看到了外键不是空的。

2 个答案:

答案 0 :(得分:1)

我认为您的数据库结构有问题。因为我不明白为什么您的printer_id引用了用户表?以及为什么在打印机表中有printer_id外键?

答案 1 :(得分:1)

您的数据库主键必须在第一条记录中显示为“ 0”,因为您尚未将其设为主键,并且自动增量也必须丢失。 请执行以下步骤来解决问题。 1。截断表 2.添加主键 3.将主键设为自动增量