最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL報(bào)錯(cuò)cannot?add?foreign?key?constraint的問題解決方法

 更新時(shí)間:2023年06月07日 10:38:25   作者:吳名氏.  
這篇文章主要介紹了MySQL報(bào)錯(cuò)cannot?add?foreign?key?constraint的問題解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1 問題場(chǎng)景

利用Navicat對(duì)MySQL兩張表想要進(jìn)行外鍵關(guān)聯(lián)時(shí)設(shè)置正確,但出現(xiàn)出現(xiàn)如下錯(cuò)誤

在這里插入圖片描述

2 原因分析

創(chuàng)建外鍵錯(cuò)誤的原因大概有一下幾個(gè)原因:
1、關(guān)聯(lián)的兩個(gè)字段的字段的類型不一致
2、設(shè)置外鍵刪除時(shí)set null
3、兩張表的引擎不一致

2.1 數(shù)據(jù)類型不一致

主表:

在這里插入圖片描述

需要關(guān)聯(lián)的表:

在這里插入圖片描述

2.2 字段設(shè)置不一樣

主表:

在這里插入圖片描述

需要關(guān)聯(lián)的表:

在這里插入圖片描述

2.3 引擎設(shè)置為“InnoDB”

數(shù)據(jù)庫(kù)引擎應(yīng)該一致,如圖:

在這里插入圖片描述

3 總結(jié)

3.1 外鍵條件

在我們使用外鍵的時(shí)候,應(yīng)該遵循如下條件:

  • 外鍵要存在,首先必須保證表的引擎是 InnoDB(默認(rèn)的存儲(chǔ)引擎),如果不是 InnoDB存儲(chǔ)引擎,那么外鍵可以創(chuàng)建成功,但沒有約束作用;
  • 外鍵字段的字段類型(列類型),必須與父表的主鍵類型完全一致;
  • 每張表中的外鍵名稱不能重復(fù);
  • 增加外鍵的字段,如果數(shù)據(jù)已經(jīng)存在,那么要保證數(shù)據(jù)與父表中的主鍵對(duì)應(yīng)。
  • 如果外鍵約束模式選擇SET NULL ,那么字段必須允許為NULL,否則出現(xiàn)Cannot add foreign key constraint。

3.2 外鍵約束

所謂外鍵約束,就是指外鍵的作用。之前所講的外鍵的作用都是默認(rèn)的作用,實(shí)際上,可以通過對(duì)外鍵的需求,進(jìn)行定制操作。外鍵約束有三種模式,分別為:

  • district:嚴(yán)格模式(默認(rèn)),父表不能刪除或更新一個(gè)已經(jīng)被子表數(shù)據(jù)引用的記錄;
  • cascade:級(jí)聯(lián)模式,父表的操作,對(duì)應(yīng)子表關(guān)聯(lián)的數(shù)據(jù)也跟著被刪除;
  • set null:置空模式,父表的操作之后,子表對(duì)應(yīng)的數(shù)據(jù)(外鍵字段)被置空。

到此這篇關(guān)于MySQL報(bào)錯(cuò)cannot add foreign key constraint的問題解決方法的文章就介紹到這了,更多相關(guān)mysql cannot add foreign key constraint內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL給字符串加一個(gè)高效索引的實(shí)現(xiàn)

    MySQL給字符串加一個(gè)高效索引的實(shí)現(xiàn)

    本文主要介紹了MySQL給字符串加一個(gè)高效索引的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Mysql案例之GROUP_CONCAT函數(shù)的具體使用

    Mysql案例之GROUP_CONCAT函數(shù)的具體使用

    本文詳細(xì)的介紹了MySQL中學(xué)生與學(xué)科多對(duì)多關(guān)聯(lián)場(chǎng)景下的排序問題,通過GROUP_CONCAT函數(shù)結(jié)合左連接和分組,一次性獲取每個(gè)學(xué)生首個(gè)學(xué)科名稱并排序,感興趣的可以了解一下
    2025-05-05
  • MYSQL中information_schema的使用

    MYSQL中information_schema的使用

    information_schema是MySQL中的一個(gè)虛擬數(shù)據(jù)庫(kù),用于提供關(guān)于 MySQL 服務(wù)器及其數(shù)據(jù)庫(kù)的元數(shù),這些元數(shù)據(jù)包括數(shù)據(jù)庫(kù)名稱、表名稱、列的數(shù)據(jù)類型、訪問權(quán)限等信息,下面就來詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2025-08-08
  • MySQL多表聯(lián)查的實(shí)現(xiàn)思路

    MySQL多表聯(lián)查的實(shí)現(xiàn)思路

    數(shù)據(jù)庫(kù)應(yīng)用在我們的生活中是很常見的,在編輯一些應(yīng)用以及軟件的時(shí)候都需要用到數(shù)據(jù)庫(kù)來存儲(chǔ)數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于MongoDB中實(shí)現(xiàn)多表聯(lián)查的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • VSCODE連接MySQL數(shù)據(jù)庫(kù)服務(wù)圖文教程

    VSCODE連接MySQL數(shù)據(jù)庫(kù)服務(wù)圖文教程

    最近做網(wǎng)頁(yè)碰到連接數(shù)據(jù)庫(kù)的問題,上網(wǎng)查了挺久終于搞明白了,下面這篇文章主要給大家介紹了關(guān)于VSCODE連接MySQL數(shù)據(jù)庫(kù)服務(wù)的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • MySQL分表自動(dòng)化創(chuàng)建的實(shí)現(xiàn)方案

    MySQL分表自動(dòng)化創(chuàng)建的實(shí)現(xiàn)方案

    在數(shù)據(jù)庫(kù)應(yīng)用場(chǎng)景中,隨著數(shù)據(jù)量的不斷增長(zhǎng),單表存儲(chǔ)數(shù)據(jù)可能會(huì)面臨性能瓶頸,例如查詢、插入、更新等操作的效率會(huì)逐漸降低,分表是一種有效的優(yōu)化策略,它將數(shù)據(jù)分散存儲(chǔ)在多個(gè)表中,從而提高數(shù)據(jù)庫(kù)的性能和可維護(hù)性,本文介紹了MySQL分表自動(dòng)化創(chuàng)建的實(shí)現(xiàn)方案
    2025-01-01
  • MySQL主從搭建(多主一從)的實(shí)現(xiàn)思路與步驟

    MySQL主從搭建(多主一從)的實(shí)現(xiàn)思路與步驟

    通過MySQL主從配置,可以實(shí)現(xiàn)讀寫分離減輕數(shù)據(jù)庫(kù)壓力,最近正好遇到這個(gè)功能,所以這篇文章主要給大家介紹了關(guān)于MySQL主從搭建(多主一從)的實(shí)現(xiàn)思路與步驟,需要的朋友可以參考下
    2021-05-05
  • MySQL刪除表數(shù)據(jù)與MySQL清空表命令的3種方法淺析

    MySQL刪除表數(shù)據(jù)與MySQL清空表命令的3種方法淺析

    刪除現(xiàn)有MySQL表非常容易,但是刪除任何現(xiàn)有的表時(shí)要非常小心,因?yàn)閯h除表后丟失的數(shù)據(jù)將無法恢復(fù),下面這篇文章主要給大家介紹了關(guān)于MySQL刪除表數(shù)據(jù)與MySQL清空表命令的3種方法的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 詳細(xì)深入聊一聊Mysql中的int(1)和int(11)

    詳細(xì)深入聊一聊Mysql中的int(1)和int(11)

    mysql數(shù)據(jù)庫(kù)作為當(dāng)前常用的關(guān)系型數(shù)據(jù)庫(kù),肯定會(huì)遇到設(shè)計(jì)表的需求,下面對(duì)設(shè)計(jì)表時(shí)int類型的設(shè)置進(jìn)行分析,下面這篇文章主要給大家介紹了關(guān)于Mysql中int(1)和int(11)的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • linux mysql 報(bào)錯(cuò):MYSQL:The server quit without updating PID file

    linux mysql 報(bào)錯(cuò):MYSQL:The server quit&nbs

    mysql 報(bào)錯(cuò):MYSQL:The server quit without updating PID file。以下是可能的原因與解決方法
    2013-02-02

最新評(píng)論

故城县| 湄潭县| 丰城市| 毕节市| 大渡口区| 桃园市| 磴口县| 天水市| 武平县| 内江市| 永仁县| 德阳市| 双鸭山市| 比如县| 兖州市| 德惠市| 永川市| 西华县| 济阳县| 潍坊市| 安西县| 利津县| 长海县| 汾西县| 桦甸市| 丽江市| 霍邱县| 峨眉山市| 日喀则市| 铜川市| 津南区| 兴仁县| 松阳县| 津市市| 定陶县| 武城县| 桦南县| 枣阳市| 宝坻区| 姜堰市| 达拉特旗|