MySql笔记:Can't create table 'mydb3.#sql-f48_1' (errno: 150
生活随笔
收集整理的這篇文章主要介紹了
MySql笔记:Can't create table 'mydb3.#sql-f48_1' (errno: 150
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QUESTION:Can't create table 'mydb3.#sql-f48_1' (errno: 150
ANSWER:
?
總得來說是因為兩個表的字段類型不一致,例如:
兩個字段的類型或大小不嚴格匹配,一個為tinyint,另一個為char;或一個為int(10)另一個為int(9)也是不行的,即使都為int(10),但一個是有符號數,一個是無符號數也會報錯。
reference的另一個表的字段必須是主鍵或建立索引。
外鍵的名字有重復或與鍵值重復。
兩個表必須都是用InnoDB引擎,事實上MyISAM引擎是不會產生外鍵的。
設置了ON DELETE SET NULL,但字段又設置為NOT NULL。
在這個關系里面,其中的一個字段是一個混合鍵值中的一個,它沒有自己獨立的索引,這時,你必須為它創建一個獨立的索引。
主鍵和外鍵的字符編碼不一致。例如一個是utf-8另一個是GBK。
總的來說,就是兩個字段有不一樣的地方,不能建立外鍵約束。
?
總結
以上是生活随笔為你收集整理的MySql笔记:Can't create table 'mydb3.#sql-f48_1' (errno: 150的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文学习15-Table Filling
- 下一篇: 面向区块链的高效物化视图维护和可信查询