Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在SQL中创建外键被认为是不兼容的,don';我不知道为什么_Mysql_Sql_Foreign Keys - Fatal编程技术网

Mysql 在SQL中创建外键被认为是不兼容的,don';我不知道为什么

Mysql 在SQL中创建外键被认为是不兼容的,don';我不知道为什么,mysql,sql,foreign-keys,Mysql,Sql,Foreign Keys,我正在尝试添加一个外键以将两个表链接在一起。他们已经有了主键,我不断收到这个错误的响应: 错误3780(HY000):引用列“empid”和引用列 外键约束“pqaemployeAddress_ibfk_1”中的“empid”为 不相容 我的父表是这个 这是我的孩子桌 两个主键都没有签名。我不确定它们为什么不兼容,也不确定如何链接我的表。任何帮助都将不胜感激 对不起,我解决了自己的问题,但我想我应该把答案贴出来 在制作我的一列时,我将其标记为“int”,但不是“int unsigned”,这

我正在尝试添加一个外键以将两个表链接在一起。他们已经有了主键,我不断收到这个错误的响应:

错误3780(HY000):引用列“empid”和引用列 外键约束“pqaemployeAddress_ibfk_1”中的“empid”为 不相容

我的父表是这个

这是我的孩子桌


两个主键都没有签名。我不确定它们为什么不兼容,也不确定如何链接我的表。任何帮助都将不胜感激

对不起,我解决了自己的问题,但我想我应该把答案贴出来

在制作我的一列时,我将其标记为“int”,但不是“int unsigned”,这就是问题所在

所以,一旦我将其输入MySQL:

mysql> alter table pqaemployeeaddress modify column empid int unsigned;
Query OK, 6 rows affected (0.97 sec)
Records: 6  Duplicates: 0  Warnings: 0
它修复了它,这样我就可以添加外键了

mysql> alter table pqaemployeeaddress add foreign key (empid) references pqaemployeelist(empid);
Query OK, 6 rows affected (1.29 sec)
Records: 6  Duplicates: 0  Warnings: 0
就个人而言,有趣的检查方法是描述您的表,然后您可以看到您分配给它的类型。

能否将两个表的定义(列名和数据类型)添加到问题中,以及您使用的数据库和创建外键的命令?这是否回答了您的问题?非常感谢你,我把问题解决了。我的子表有一个我标记为“int”的列名,但忘了包含“int unsigned”,所以它不会链接。谢谢大家的快速回复@我只能在两天内接受我的回答。我试过:)