mysql - 尝试在 MySQL 中创建一个联合表,但外键不起作用

标签 mysql foreign-keys

这是我试过的:

create table books(bcode int(5) primary key, bname varchar(45));

create table customers(cid int(4), cname varchar(20), cadd varchar(40), bcode, 
varchar(45), foreign key(bcode) references books(bcode));

执行第二条语句后,出现如下错误:

ERROR 1215 (HY000): Cannot add foreign key constraint

我在想出解决方案时遇到了麻烦。感谢您的帮助。

最佳答案

在第一个表格中你使用 bcode 作为整数 但是在第二个表中你使用 bcode 作为 varchar,

所以,正确的是

create table customers(cid int(4), cname varchar(20), cadd varchar(40), bcode
int(5), foreign key(bcode) references books(bcode));

关于mysql - 尝试在 MySQL 中创建一个联合表,但外键不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46834608/

相关文章:

javascript - 使用 jQuery 创建表 - 在 javaScript 中追加

sql-server - 如何在 SQL Azure 中设置外键?

MySQL插入外键使用ID的多个表

php - MySql 外键查询错误

MySql LIKE 反向吗?

mysql - Docker gogs 连接被 mysql 容器拒绝

Mysql SET 引用外键

MySQL 创建外键时出现错误 1215

mysql - 如何表示某一行来自哪个表?

mysql - 为什么在表有某种关系时即使在使用多线程之后也需要很长时间才能在 mysql 表中插入行