2011-12-26 71 views
0

我试图按照以下步骤创建一个外键:问题在MySQL创建外键的5.5

Customer Table 
-------------- 
customer_id int lastname char(5) 

Orders Table 
------------ 
orders_id int lastname char(5) <- to link this as foreign key to lastname in Customer table. 

我想这样做,但MySQL工作台拒绝让我CHAR(5)对焦炭的链接数据类型(5)。有任何想法吗?

回答

2

您应该检查的官方手册条件时,你可以使用外键 http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html

+0

INT嗨,张贴在计算器上之前就检查。根据MySQL的要求,我有两列相同的数据类型(见上)。 – Poliquin 2011-12-26 08:03:58

+0

你的问题是'Customer'表中的'lastname'不是主键(如问题所示)。 因为可以有许多人姓氏相同,所以使用'customer_id'作为主键并将此列作为外键添加到'Orders'表中会更好。 – int 2011-12-26 09:31:38

+0

嗨诠释,我放弃了工作台,并在SQL查询编码。经过一些试验和错误,我看到错误日志说我需要有两列索引。所以这可能解决了我的问题。 – Poliquin 2011-12-26 15:57:35