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

解決MySQL遇到錯誤:1217 - Cannot delete or update a parent row: a foreign key constraint fails

 更新時間:2024年06月05日 10:16:55   作者:遠離bug,珍愛頭發(fā)  
這篇文章主要介紹了解決MySQL遇到錯誤:1217 - Cannot delete or update a parent row: a foreign key constraint fails問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

遇到問題

今天在準備"刪庫跑路"的時候

有的數(shù)據(jù)表再刪除的時候報了以下錯誤:

1217 - Cannot delete or update a parent row: a foreign key constraint fails

本著有事找度娘的原則,將這句話百度翻譯一下,中文意思是“無法刪除或更新父行:外鍵約束失敗”。

那這不就好辦了,把有外鍵約束的表刪了或者解除約束不就好了。

原因

查看了一下教程發(fā)現(xiàn)

數(shù)據(jù)表之間經(jīng)常存在外鍵關聯(lián)的情況,這時如果直接刪除父表,會破壞數(shù)據(jù)表的完整性,也會刪除失敗。

刪除父表有以下兩種方法

  • 先刪除與它關聯(lián)的子表,再刪除父表;但是這樣會同時刪除兩個表中的數(shù)據(jù)。
  • 將關聯(lián)表的外鍵約束取消,再刪除父表;適用于需要保留子表的數(shù)據(jù),只刪除父表的情況。

解決方法

我們嘗試一下第二種方法,這樣還可以保留一下子表的數(shù)據(jù),至少可以早出來兩年 (手動狗頭)

1.要刪除的父表

CREATE TABLE tb_drop
(
id INT(11) PRIMARY KEY,
name VARCHAR(22),
location VARCHAR (50)
);

2.外鍵關聯(lián)需要被刪除的子表

CREATE TABLE tb_foreign
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
CONSTRAINT fk_drop_foreign FOREIGN KEY (deptId) REFERENCES tb_drop(id)
);

3.此時如果刪除tb_drop表

就會報出1217錯誤,所以要解除外鍵約束

ALTER TABLE tb_foreign DROP FOREIGN KEY fk_drop_foreign;

執(zhí)行成功后,兩個表之間的外鍵約束就解除了,此時刪除表就可以了

dDROP TABLE tb_drop;

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • MySQL WorkBench管理操作MySQL教程

    MySQL WorkBench管理操作MySQL教程

    MySQL Workbench提供DBAs和developers一個集成工具環(huán)境,方便管理mysql數(shù)據(jù)庫,這里簡單介紹下MySQL Workbench使用方法,需要的朋友可以參考下
    2014-03-03
  • SQL數(shù)據(jù)庫十四種案例介紹

    SQL數(shù)據(jù)庫十四種案例介紹

    大家好,本篇文章主要講的是SQL數(shù)據(jù)庫十四種案例介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • MySQL8重置root賬戶密碼圖文教程超詳細講解

    MySQL8重置root賬戶密碼圖文教程超詳細講解

    root賬戶為MySQL的超級管理員用戶,擁有MySQL提供的所有權限,這篇文章主要介紹了MySQL8重置root賬戶密碼圖文教程,需要的朋友可以參考下
    2023-05-05
  • MySQL 獲得當前日期時間 函數(shù)

    MySQL 獲得當前日期時間 函數(shù)

    這篇文章主要介紹了MySQL 獲得當前日期時間 函數(shù) 非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-07-07
  • MySQL請求處理全流程之如何從SQL語句到數(shù)據(jù)返回

    MySQL請求處理全流程之如何從SQL語句到數(shù)據(jù)返回

    這篇文章主要介紹了MySQL請求處理全流程之如何從SQL語句到數(shù)據(jù)返回,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-03-03
  • ubuntu安裝mysql數(shù)據(jù)庫方法

    ubuntu安裝mysql數(shù)據(jù)庫方法

    ubuntu基于linux的免費開源桌面PC操作系統(tǒng),十分契合英特爾的超極本定位,支持x86、64位和ppc架構。這篇文章給大家介紹ubuntu安裝mysql數(shù)據(jù)庫方法,非常不錯,需要的朋友參考下吧
    2019-08-08
  • MySQL8新特性之降序索引底層實現(xiàn)詳解

    MySQL8新特性之降序索引底層實現(xiàn)詳解

    這篇文章主要介紹了MySQL8新特性之降序索引底層實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • CentOS6.5下RPM方式安裝mysql5.6.33的詳細教程

    CentOS6.5下RPM方式安裝mysql5.6.33的詳細教程

    本文給大家詳細介紹CentOS6.5下RPM方式安裝mysql5.6.33的教程,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友一起看看吧
    2016-10-10
  • 構建雙vip的高可用MySQL集群

    構建雙vip的高可用MySQL集群

    大家好,本篇文章主要講的是構建雙vip的高可用MySQL集群,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • mysql5.6及以下版本如何查詢數(shù)據(jù)庫里的json

    mysql5.6及以下版本如何查詢數(shù)據(jù)庫里的json

    MySQL里面保存數(shù)據(jù)有時候會把一些雜亂且不常用的時候丟進一個json字段里面,那么如何查詢數(shù)據(jù)庫里的json呢以及mysql存儲json注意那些格式呢?接下來通過本文給大家詳細介紹,需要的朋友參考下
    2017-03-03

最新評論