麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > 綜合 > 正文

解決修改表結構,添加外鍵時出現(xiàn)“約束沖突”的錯誤

2024-07-21 02:51:02
字體:
來源:轉載
供稿:網友
解決修改表結構,添加外鍵時出現(xiàn)“約束沖突”的錯誤

由于表結構更改,使用新建表,現(xiàn)有部分表需要更改外鍵,將引用更改到新建表的相應字段。在更改過程中,部分表出現(xiàn)如下錯誤提示:

ALTER TABLE 語句與 COLUMN FOREIGN KEY 約束 '' 沖突。該沖突發(fā)生于數(shù)據庫 “***”,表 “***”, column “***”。

反復查看后,包括字段類型、長度等完全一致。不得其解,在網上找了下,發(fā)現(xiàn)有如下文章[1]提示:

根源: XXX表有數(shù)據

解決:刪掉XXX表的數(shù)據再執(zhí)行sql語句

恍然大悟,查看引用表數(shù)據與被引用表數(shù)據做比較,才發(fā)現(xiàn),原來是相應字段數(shù)據不一致的問題。即引用表中的相應字段數(shù)據,在被引用表中并不存在,無法建立實際上的外鍵關系,這是引用完整性的要求。早在讀書時就學到的東西,今天居然忘記了??磥?,知識只有在用了之后才屬于自己。

此外,在主次表引用設置后,也可能會出現(xiàn)正面的情況。即主表中的外鍵,在次表中已經失效,或不存在。

如表A:

aid aname
1 Lucy
2 Lily
3 Kimi

表B引用表A的aid作為外鍵

bcode aid(FK from A) bvalue
001 1 bone
002 2 btwo
003 5 bthree

由于表B中的“aid”字段引用了表A的“aid”,因此,如果此時想修改表B的定義結構,即會出現(xiàn)文章最開始出錯的信息,修改失敗。就是因為表B中的第三條數(shù)據,引用的“aid”為“5”的那條記錄,因為表A中不存在這條記錄,修改表之前的驗證無法通過。只有刪除了這條數(shù)據之后,再次修改表B才會成功。

PS:正常情況下,如何使用了“強制外鍵約束”,則不會出現(xiàn)上面的問題。因為存在外鍵引用,是無法刪除被引用表某些數(shù)據的。如果將“強制外鍵約束”選項是“否”。則可以刪除相應的數(shù)據。


參考文獻:

[1] ALTER TABLE 語句與 COLUMN FOREIGN KEY 約束 '' 沖突 ,大尾巴狼專欄


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品久久久久一区二区 | 久久99国产伦子精品免费 | 免费网站看毛片 | chinese军人gay呻吟 | 亚洲一区二区在线视频 | 久国产| 国产一区二区不卡 | 成年人黄色免费电影 | 国产伦乱视频 | 欧美一级免费在线观看 | 性生活视频软件 | 久久日韩在线 | 精品久久久久久久久久久下田 | 嫩呦国产一区二区三区av | 香蕉久久久久久 | 久久精品伊人网 | 中国免费一级毛片 | 国产黄色网 | 91精品国产91久久久 | 97超级碰碰人国产在线观看 | 他也色在线视频 | 激情久久婷婷 | 日本最新免费二区三区 | 夜添久久精品亚洲国产精品 | 久久久久久久黄色片 | 黄色网址免费入口 | 成人免费看视频 | 免费国产自久久久久三四区久久 | 午夜精品成人 | 国产女同玩人妖 | 操你啦免费视频 | 加勒比综合 | 欧美精品18videos性欧美 | 国产免费视频在线 | 欧美性受xxxxxx黑人xyx性爽 | 成人在线视频免费播放 | 国产精品二区高清在线 | 羞羞视频免费网站含羞草 | 国产精品久久久久久久久久10秀 | 蜜桃网站免费 | 久久精精品 |