我有laravel和商店表生成的users表,我希望所有用户都有来自id商店的外键,但是当我添加id时它告诉我外国格式有错误...对于其他表,如果它工作,只有用户给我冲突,我不知道是否可能是因为它是在表存储之前创建的,但我仍然更改了名称来进行商店迁移之前,但没有,仍然是一样的。谢谢你的帮助!
> [Illuminate\Database\QueryException] SQLSTATE[HY000]: General
> error: 1005 Can't create table `Shop`.`#sql-17ec_5` (errno: 150
> "Foreign key constraint is incorrectly formed") (SQL: alter table
> `users` add constraint `users_store_id_foreign` foreign key (`store_id
> `) references `store` (`id`))
>
>
>
> [PDOException] SQLSTATE[HY000]: General error: 1005 Can't create
> table `shop`.`#sql-17ec_5` (errno: 150 "Foreign key constraint is
> incorrectly formed")
答案 0 :(得分:0)
如果数据量很小:
检查您在users表中输入的外来ID是否已作为商店表中的ID存在。
如果是批量数据:
首先删除外键检查。
第二次更新所有用户表及其商店ID。
第三步通过选择查询运行手动检查,以在商店主表中导出不存在的商品ID列表。
Select user.ID, user.name, user.Store_ID from users
Where Store_ID not IN (Select ID from Store)