mysql錯誤翻譯為不能新增外來鍵約束求解啊

2022-02-04 04:47:45 字數 1478 閱讀 8537

1樓:匿名使用者

資料型別不一致。

你的主表, 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)

2樓:

你的表是myisam吧,myisam可以支援外來鍵?不能吧

為什我在cmd中輸入命令,但是mysql不能執行啊,我不知道是不是路徑錯了,請各位大佬求解

3樓:gta小雞

不能執行是怎麼不能執行,輸出什麼提示

new york不翻譯為新約克,而翻譯為紐約

地名翻譯與歐洲在新大陸建立殖民地並移民有關。比如 new york 紐約 就是根據英國york 約克 得名,new orleans 新奧爾良 就是根據法國的 orleans 奧爾良 news zealand 紐西蘭 就是根據丹麥的 zealand 西蘭島 得名,new jersey 新澤西 就是根據...

求翻譯為中文

取決於條款9。1公司的總負債是否起於疏忽,違反合同或相反應該限於產品的發票價值訂購附近的的配電盤在一年期間以月結束立即在月之前,任何如此故障 根據9.1款規定,公司 的全部責任 不論該責任是由疏忽 違約還是其它原因所致 僅限於 批發商 首次獲悉上述過錯或過失當月之前一年內所訂產品的發票額。大意如此,...

支付寶為何翻譯為,支付寶為何翻譯為alipay

支付寶 alipay 最初作為 網公司為了解決網路交易安全所設的一個功能,該功能為首先使用的 第三方擔保交易模式 由買家將貨款打到支付寶賬戶,由支付寶向賣家通知發貨,買家收到商品確認後指令支付寶將貨款放於賣家,至此完成一筆網路交易。支付寶於2004年12月獨立為浙江支付寶網路技術 是阿里巴巴集團的關...