PHPMyAdmin更改现有表以创建外键

时间:2015-04-16 04:41:03

标签: mysql phpmyadmin foreign-keys

首先发帖非常抱歉,如果这似乎是一个明显的答案。这是我的问题的前提。我有一个使用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)   (详细...)

我真的对这个错误感到茫然,因为我没有尝试创建任何表只是改变现有的表。再次感谢,如果我屠杀了格式,我很抱歉。

1 个答案:

答案 0 :(得分:0)

这主要是由于表中的主键引用错误。

通常这意味着您引用的密钥不存在/ FOREIGN KEY和REFERENCED列之间的数据类型可能存在差异/或者列名可能存在差异。

确保

  1. 您在用户表
  2. 中有一个名为ID的列
  3. Driver_ID列与Users表中的ID列具有相同的数据类型。确保两者的数据类型完全相同。
  4. 有关详细信息,请参阅this