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