我在设置名为Customer
和Customer_Number
的两个表之间建立关系时遇到问题。我有两个表都设置为InnoDB
都有索引,但是当我去创建外键时,我得到一个“没有索引定义”的错误。以下是一些屏幕截图创建外键的问题
这是客户表。
这是Customer_Number表。
这里是我尝试创建外键时的错误消息。
最后,这是我在尝试手动创建关系时得到的错误。
我似乎无法弄清楚这个问题,而且这让我疯狂!
输出为SHOW CREATE TABLE Customer
是
CREATE TABLE `Customer` (
`Customer_ID` int(11) NOT NULL AUTO_INCREMENT,
`First` varchar(255) NOT NULL,
`Last` varchar(255) NOT NULL,
PRIMARY KEY (`Customer_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
和输出SHOW CREATE TABLE Customer_Number
是
CREATE TABLE `Customer_Number` (
`Num_ID` int(11) NOT NULL AUTO_INCREMENT,
`Customer_ID` int(11) NOT NULL,
`Number` varchar(255) NOT NULL,
PRIMARY KEY (`Num_ID`),
KEY `Customer_ID` (`Customer_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
@MichaelBerkowski与所需的信息更新 – Jcmoney1010 2014-09-24 16:42:27
我嗯其实没有问题,创建这些表,然后加入FK,或在原来的定义与FK创建它们。这工作:'ALTER TABLE Customer_Number ADD FOREIGN KEY(Customer_ID)REFERENCES Customer(Customer_ID);' – 2014-09-24 16:47:35
当我把你给我的东西,我得到这个错误'#1452 - 无法添加或更新子行:外键约束失败('thesnoopz'.'#sql-23d7_8c3428',CONSTRAINT'#sql-23d7_8c3428_ibfk_1' FOREIGN KEY('Customer_ID')REFERENCES'Customer'('Customer_ID'))' – Jcmoney1010 2014-09-24 16:49:58