首页 文章

使用外键错误号:150创建sql表

提问于
浏览
0

我试图用2个外键创建一个表但是当我试图将它写入mysql时,得到一个错误说“ERROR 1005(HY000):无法创建表(错误号:150)”有没有人可以帮忙我 ?这是我的表格:

create table store (
  StoreName varchar(255),
  Category varchar(20),
  primary key(StoreName,Category));




 create table shopps (
 StoreName varchar(255),
 Category varchar(20),
 primary key(StoreName,Category),
 foreign key(StoreName) References store);
 foreign key(Category) References store);

1 回答

  • 0

    由于 store 表具有复合主键,因此在 shopps 表中引用它的外键也必须是复合的:

    create table shopps (
        StoreName varchar(255),
        Category varchar(20),
        primary key(StoreName,Category),
        foreign key(StoreName,Category) References store (StoreName,Category)
    )
    

    Demo on sqlfiddle.

相关问题