欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL刪除外鍵時(shí)報(bào)錯(cuò)Error?Code:1091.?Can‘t?DROP?‘XXX‘的解決方法

 更新時(shí)間:2022年08月31日 11:01:34   作者:暗諾星刻  
這篇文章主要給大家介紹了關(guān)于MySQL刪除外鍵時(shí)報(bào)錯(cuò)Error?Code:1091.?Can‘t?DROP?‘XXX‘的解決方法,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

解決MySQL刪除外鍵時(shí)報(bào)錯(cuò)Error Code: 1091. Can't DROP 'XXX'; check that column/key exists

長期不寫基礎(chǔ)的 MySQL 代碼,筆者也開始犯一些低級錯(cuò)誤。最近,筆者在嘗試將表中某列的外鍵約束刪除時(shí),MySQL 卻一直報(bào)該列本就不存在的錯(cuò)誤。

筆者報(bào)錯(cuò)時(shí)的運(yùn)行環(huán)境:

MySQL 8.0.27

Windows 10 教育版

Error Code: 1091. Can't DROP 'XXX'; check that column/key exists

筆者非常疑惑,因?yàn)槎啻螜z查后發(fā)現(xiàn)列名似乎并沒有錯(cuò)誤。和往常一樣,筆者為此建立了一個(gè) demo 表,這才發(fā)現(xiàn)了原因所在。

建表代碼如下:

CREATE TABLE demo1 (
    id CHAR(32),

    PRIMARY KEY (id)
);

CREATE TABLE demo2 (
    id CHAR(32),
    demo1_id CHAR(32),

    PRIMARY KEY (id),
    FOREIGN KEY (demo1_id) REFERENCES demo1 (id)
);

當(dāng)建立了上述的表之后,筆者嘗試刪除表 demo2 的外鍵,代碼如下:

ALTER TABLE demo2 DROP FOREIGN KEY demo1_id;

結(jié)果發(fā)生同樣的錯(cuò)誤。

Error Code: 1091. Can't DROP 'demo1_id'; check that column/key exists

這個(gè)問題出在建表代碼和刪除外鍵的代碼上。由于在當(dāng)初建表的時(shí)候,沒有為這個(gè)外鍵約束起一個(gè)名稱,所以 MySQL 為此自動生成了一個(gè)名稱,這個(gè)自動生成的名稱不同于受到這個(gè)外鍵約束的列名。而刪除外鍵的時(shí)候,需要提供的是這個(gè)外鍵約束名,而不是列名。

可以印證這一點(diǎn)。在 Navicat Premium 中可以看到關(guān)于這個(gè)表的建表信息。(也可以使用代碼 show create TABLE demo2; 來查看。)

可以看到,MySQL 自動為列 demo1_id 的外鍵約束生成了一個(gè)名稱 demo2_ibfk_1。因此,刪除外鍵時(shí)應(yīng)使用這個(gè)名稱。即刪除外鍵的代碼應(yīng)如下:

ALTER TABLE demo2 DROP FOREIGN KEY demo2_ibfk_1;

使用了這個(gè)代碼之后,表 demo2 的外鍵就成功被刪除了。

總結(jié) 

到此這篇關(guān)于MySQL刪除外鍵時(shí)報(bào)錯(cuò)Error Code:1091. Can‘t DROP ‘XXX‘解決的文章就介紹到這了,更多相關(guān)MySQL刪除外鍵報(bào)錯(cuò)Error Code:1091內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mysql修改字段類型、長度及添加刪除列實(shí)例代碼

    Mysql修改字段類型、長度及添加刪除列實(shí)例代碼

    在MySQL中可以使用ALTER?TABLE語句來修改表結(jié)構(gòu),包括添加自增屬性,下面這篇文章主要給大家介紹了關(guān)于Mysql修改字段類型、長度及添加刪除列的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • mysql中Update未加索引導(dǎo)致的微服務(wù)模塊不可用

    mysql中Update未加索引導(dǎo)致的微服務(wù)模塊不可用

    本文主要介紹了mysql中Update未加索引導(dǎo)致的微服務(wù)模塊不可用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 史上最簡單的MySQL數(shù)據(jù)備份與還原教程(下)(三十七)

    史上最簡單的MySQL數(shù)據(jù)備份與還原教程(下)(三十七)

    這篇文章主要為大家詳細(xì)介紹了史上最簡單的MySQL數(shù)據(jù)備份與還原教程下篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 修改MySQL的默認(rèn)密碼的四種小方法

    修改MySQL的默認(rèn)密碼的四種小方法

    對于windows平臺來說安裝完MySQL后,系統(tǒng)就已經(jīng)默認(rèn)生成了許可表和賬戶,下文中就教給大家如何修改MySQ的默認(rèn)密碼。
    2015-09-09
  • MySQL 編碼utf8 與 utf8mb4 utf8mb4_unicode_ci 與 utf8mb4_general_ci

    MySQL 編碼utf8 與 utf8mb4 utf8mb4_unicode_ci 與 utf8mb4_general_

    這篇文章主要介紹了MySQL 編碼utf8 與 utf8mb4 utf8mb4_unicode_ci 與 utf8mb4_general_ci的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • MySQL使用命令行備份數(shù)據(jù)的方法詳解

    MySQL使用命令行備份數(shù)據(jù)的方法詳解

    由于長期使用測試環(huán)境的數(shù)據(jù)庫,時(shí)不時(shí)會有臟數(shù)據(jù)刪除不干凈,對此很需要一個(gè)實(shí)時(shí)將生產(chǎn)庫的數(shù)據(jù)定期備份一份,防止生產(chǎn)庫中會有臟數(shù)據(jù)進(jìn)來,所以本文給大家介紹了MySQL使用命令行備份數(shù)據(jù)的方法,需要的朋友可以參考下
    2024-02-02
  • mysql記錄根據(jù)日期字段倒序輸出

    mysql記錄根據(jù)日期字段倒序輸出

    這篇文章主要介紹了mysql記錄根據(jù)日期字段倒序輸出 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • 分析一條sql的性能的標(biāo)準(zhǔn)總結(jié)

    分析一條sql的性能的標(biāo)準(zhǔn)總結(jié)

    在本篇文章里小編給各位分享了關(guān)于分析一條sql的性能的相關(guān)知識點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-07-07
  • MySQL數(shù)據(jù)庫常用操作技巧總結(jié)

    MySQL數(shù)據(jù)庫常用操作技巧總結(jié)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫常用操作技巧,結(jié)合實(shí)例形式總結(jié)分析了mysql查詢、存儲過程、字符串截取、時(shí)間、排序等常用操作技巧,需要的朋友可以參考下
    2018-03-03
  • Mysql和SQLServer驅(qū)動連接的實(shí)現(xiàn)步驟

    Mysql和SQLServer驅(qū)動連接的實(shí)現(xiàn)步驟

    本文主要介紹了Mysql和SQL?Server的驅(qū)動連接,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評論