mysql创建表时出现150错误_MySQL创建表(错误150)

我想问一些困扰我许多日子的事情......

这是我的意思:

我创建了这两个表格:

CREATE TABLE IF NOT EXISTS journal (

issn varchar(20) NOT NULL,

j_title varchar(100) NOT NULL,

j_publisher varchar(30) NOT NULL,

PRIMARY KEY (issn)

) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS volume (

volume_no int(11) NOT NULL,

issn varchar(20) NOT NULL,

year int(11) NOT NULL,

PRIMARY KEY (issn,volume_no),

FOREIGN KEY (issn) REFERENCES journal(issn)

) ENGINE=InnoDB;当我尝试创建这个:

CREATE TABLE IF NOT EXISTS issue (

issue_no int(11) NOT NULL,

issue_pages varchar(10) NOT NULL,

issue_date varchar(10) NOT NULL,

issn varchar(20) NOT NULL,

volume_no int(11) NOT NULL,

PRIMARY KEY (issue_no,issn,volume_no),

FOREIGN KEY (issn) REFERENCES journal(issn),

FOREIGN KEY (volume_no) REFERENCES volume(volume_no)

) ENGINE=InnoDB;它会抛出一个错误(errno 150)

该错误位于外键volume_no中。

没有FOREIGN KEY (volume_no) REFERENCES volume(volume_no)

表格创建时没有问题....我无法解释发生了什么......我多次看过它,但一次又一次,但没有任何!有人知道发生了什么事吗?

提前致谢!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值