2013-11-09 82 views
1

我在MySQL中创建了一个名为'ShoppingCart'的表,但它显示错误1005.这里有什么错误?MySQL中的错误1005

mysql> create table ShoppingCart(
    -> Current_Purchases varchar(100), 
    -> Previous_Purchases varchar(100), 
    -> Phone_No int(20), 
    -> constraint fk_shop foreign key (Phone_No) references Registration(Phone_No)); 
ERROR 1005 (HY000): Can't create table 'infoproject.shoppingcart' (errno: 150) 

其他表'Registration'已经创建并且相同的列存在相同的数据类型。

+0

在两栏中的Phone_no上创建一个索引 – hjpotter92

+0

'phone_no'是'registration'表的主键(或者至少有一个唯一的约束)? –

+0

@a_horse_with_no_name不,我没有使用任何约束'Phone_no' – LuluLala

回答

1

外键引用的列必须是唯一的。在你的情况,这似乎是错误是由于在Registration非唯一Phone_No。修改Registration表以在Phone_No上添加唯一索引。