2个回答
推荐于2018-03-28
展开全部
数据类型不一致。
你的主表, id 的数据类型是 int unsigned
而你的子表, hoyyb_id 数据类型是 int
因为:
INT[(M)] [UNSIGNED] [ZEROFILL]
普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
2种解决办法
1、 主表数据类型, 修改为 int
2、子表数据类型, 修改为 int unsigned
下面是一个模拟的例子:
-- 主表, id 是 INT unsigned
mysql> CREATE TABLE test_main2 (
-> id INT unsigned NOT NULL,
-> value VARCHAR(10),
-> PRIMARY KEY(id)
-> );
Query OK, 0 rows affected (0.01 sec)
-- 子表, 数据类型 int 的时候。
mysql> CREATE TABLE test_sub2 (
-> id INT NOT NULL,
-> main_id INT ,
-> value VARCHAR(10),
-> PRIMARY KEY(id),
-> CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main2(id)
-> );
ERROR 1005 (HY000): Can't create table 'test.test_sub2' (errno: 150)
-- 子表, 数据类型 int unsigned 的时候
mysql> CREATE TABLE test_sub2 (
-> id INT NOT NULL,
-> main_id INT unsigned,
-> value VARCHAR(10),
-> PRIMARY KEY(id),
-> CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main2(id)
-> );
Query OK, 0 rows affected (0.02 sec)
你的主表, id 的数据类型是 int unsigned
而你的子表, hoyyb_id 数据类型是 int
因为:
INT[(M)] [UNSIGNED] [ZEROFILL]
普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
2种解决办法
1、 主表数据类型, 修改为 int
2、子表数据类型, 修改为 int unsigned
下面是一个模拟的例子:
-- 主表, id 是 INT unsigned
mysql> CREATE TABLE test_main2 (
-> id INT unsigned NOT NULL,
-> value VARCHAR(10),
-> PRIMARY KEY(id)
-> );
Query OK, 0 rows affected (0.01 sec)
-- 子表, 数据类型 int 的时候。
mysql> CREATE TABLE test_sub2 (
-> id INT NOT NULL,
-> main_id INT ,
-> value VARCHAR(10),
-> PRIMARY KEY(id),
-> CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main2(id)
-> );
ERROR 1005 (HY000): Can't create table 'test.test_sub2' (errno: 150)
-- 子表, 数据类型 int unsigned 的时候
mysql> CREATE TABLE test_sub2 (
-> id INT NOT NULL,
-> main_id INT unsigned,
-> value VARCHAR(10),
-> PRIMARY KEY(id),
-> CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main2(id)
-> );
Query OK, 0 rows affected (0.02 sec)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
网易云信
2023-12-06 广告
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同...
点击进入详情页
本回答由网易云信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询