首先发帖非常抱歉,如果这似乎是一个明显的答案。这是我的问题的前提。我有一个使用PhpMyAdmin管理的数据库。我有一个名为“Schedules”的表,并希望计划中的驱动程序的id是一个外键,它引用一个更大的表“Users”,其中该表中的ID列是主键。这是我试过的:
ALTER TABLE `Schedules`
ADD CONSTRAINT `FK_DriverID`
FOREIGN KEY (`Driver_ID`)
REFERENCES `users`(`ID`);
但是,我收到此错误:
1005 - 无法创建表'Scheduler。#sql-3b7_3b9d'(错误号:150) (详细...)
我真的对这个错误感到茫然,因为我没有尝试创建任何表只是改变现有的表。再次感谢,如果我屠杀了格式,我很抱歉。
答案 0 :(得分:0)
这主要是由于表中的主键引用错误。
通常这意味着您引用的密钥不存在/ FOREIGN KEY和REFERENCED列之间的数据类型可能存在差异/或者列名可能存在差异。
确保
ID
的列
Driver_ID
列与Users表中的ID
列具有相同的数据类型。确保两者的数据类型完全相同。有关详细信息,请参阅this