我有一个名为Shop with this 3 tables的数据库:
create table usr(
id_usr varchar(20) not null,
primary key(id_usr)
);
create table product(
id_product varchar(20) not null,
id_size varchar(20) not null,
price float(4,2) unsigned,
primary key(id_product,id_size)
);
create table cart(
myUser varchar(20),
mySize varchar(20),
product varchar(20),
qty int not null,
primary key(myUser,product,mySize),
FOREIGN KEY (myUser) REFERENCES usr (id_usr),
FOREIGN KEY (product) REFERENCES product (id_product),
FOREIGN KEY (mySize) REFERENCES product (id_size)
);
当我在sql中编译时,它给了我这条消息:
1005 - 无法创建表'Shop.cart'(错误号:150)
如果我尝试删除外键mySize(FOREIGN KEY(mySize)REFERENCES prodotto(id_size))它有效,为什么我这条消息?