在MySQL中创建关系错误

时间:2012-10-26 20:16:48

标签: mysql foreign-keys foreign-key-relationship mysql-error-1005

我有三个表(所有InnoDB主键都有int(7)类型)

tblcustomers:主键是customer_id

tblorders:主键是order_id(customer_id的字段名为order_customer)

tblorder_detail:主键是order_detail_id(具有order_id的字段,名为order_id)

我想创建一个关系,以便删除客户删除他们的订单历史记录。

我使用以下语句来改变Orders表:

ALTER TABLE `tblorders`
  ADD CONSTRAINT `FK_myKey` FOREIGN KEY (`order_customer`) REFERENCES `tblcustomers` (`customer_id`) ON DELETE CASCADE ON UPDATE CASCADE;

此操作成功,删除客户会删除相关订单。

然后我尝试了以下操作并收到错误:

ALTER TABLE `tblorder_detail`
  ADD CONSTRAINT `FK_myKey` FOREIGN KEY (`order_id`) REFERENCES `tblorders` (`order_id`) ON DELETE CASCADE ON UPDATE CASCADE

这是错误(wtc-ecommerce是数据库的名称):

1005 - 无法创建表'wtc-ecommerce。#sql-5d2_c2'(错误号:121)

通过其他SO帖子阅读,似乎所有内容都已正确配置,所以我迷路了。

由于

0 个答案:

没有答案