国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

mysql創(chuàng)建外鍵約束總不成功 mysql不能添加外鍵,急求?

mysql不能添加外鍵,急求?在mysql中創(chuàng)建外鍵時(shí),我們經(jīng)常會(huì)遇到問題并失敗。這是因?yàn)镸ySQL中有很多細(xì)節(jié)需要注意。在總結(jié)和查閱資料后,我列出了以下常見的原因。1. 兩個(gè)字段的類型或大小不完全匹

mysql不能添加外鍵,急求?

在mysql中創(chuàng)建外鍵時(shí),我們經(jīng)常會(huì)遇到問題并失敗。這是因?yàn)镸ySQL中有很多細(xì)節(jié)需要注意。在總結(jié)和查閱資料后,我列出了以下常見的原因。

1. 兩個(gè)字段的類型或大小不完全匹配。例如,如果一個(gè)是int(10),那么外鍵也必須設(shè)置為int(10),而不是int(11),并且不能是tinyint。此外,還必須確定兩個(gè)字段中的一個(gè)是否已簽名,另一個(gè)是否未簽名(即無簽名)。這兩個(gè)字段必須嚴(yán)格匹配。有關(guān)已簽名和未簽名的詳細(xì)信息,請(qǐng)參閱:http://www.verysimple.com/blog/?p=57

2。試圖設(shè)置外鍵的字段沒有索引或不是主鍵。如果其中一個(gè)不是主鍵,則必須首先為其創(chuàng)建索引。

3. 其中一個(gè)或兩個(gè)表是MyISAM引擎的表。如果要使用外鍵約束,則表必須是InnoDB引擎(實(shí)際上,如果兩個(gè)表都屬于MyISAM引擎,則根本不會(huì)發(fā)生此錯(cuò)誤,但不會(huì)生成外鍵,只會(huì)生成索引)。您需要檢查表的引擎類型。

4. 外鍵的名稱不能重復(fù)。您應(yīng)該檢查您的數(shù)據(jù)庫以確保鍵名是唯一的,或者您可以在鍵名之后添加一些隨機(jī)字符來測(cè)試這是否是原因。

5. 您可能已在delete上設(shè)置了set null,但相關(guān)的鍵字段設(shè)置為not null。您可以通過修改cascade的屬性值或?qū)ield屬性設(shè)置為allownull來解決這個(gè)問題。

6. 請(qǐng)確保您的charset和collate選項(xiàng)在表級(jí)別和字段級(jí)別是一致的。

7. 您可能已經(jīng)為外鍵設(shè)置了默認(rèn)值,例如default=0。

8. alter聲明語法錯(cuò)誤

出現(xiàn)錯(cuò)誤時(shí),請(qǐng)仔細(xì)檢查數(shù)據(jù)庫表和字段的設(shè)計(jì)。我建議您嘗試使用工具來設(shè)計(jì)和創(chuàng)建一個(gè)數(shù)據(jù)庫,以減少出錯(cuò)的概率。

mySQL添加外鍵報(bào)錯(cuò)說缺少索引怎么回事?

MySQL add foreign key prompt missing index,因?yàn)槟鷽]有向外鍵添加索引。添加外鍵索引后,不會(huì)報(bào)告錯(cuò)誤。