<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        關(guān)于MySQL外鍵的簡單學(xué)習(xí)教程

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-09 20:54:28
        文檔

        關(guān)于MySQL外鍵的簡單學(xué)習(xí)教程

        關(guān)于MySQL外鍵的簡單學(xué)習(xí)教程:在MySQL中,InnoDB引擎類型的表支持了外鍵約束。 外鍵的使用條件: 1.兩個表必須是InnoDB表,MyISAM表暫時不支持外鍵(據(jù)說以后的版本有可能支持,但至少目前不支持); 2.外鍵列必須建立了索引,MySQL 4.1.2以后的版本在建立外鍵時會自動創(chuàng)建索引,但如果在
        推薦度:
        導(dǎo)讀關(guān)于MySQL外鍵的簡單學(xué)習(xí)教程:在MySQL中,InnoDB引擎類型的表支持了外鍵約束。 外鍵的使用條件: 1.兩個表必須是InnoDB表,MyISAM表暫時不支持外鍵(據(jù)說以后的版本有可能支持,但至少目前不支持); 2.外鍵列必須建立了索引,MySQL 4.1.2以后的版本在建立外鍵時會自動創(chuàng)建索引,但如果在

        在MySQL中,InnoDB引擎類型的表支持了外鍵約束。
        外鍵的使用條件:
        1.兩個表必須是InnoDB表,MyISAM表暫時不支持外鍵(據(jù)說以后的版本有可能支持,但至少目前不支持);
        2.外鍵列必須建立了索引,MySQL 4.1.2以后的版本在建立外鍵時會自動創(chuàng)建索引,但如果在較早的版本則需要顯示建立;
        3.外鍵關(guān)系的兩個表的列必須是數(shù)據(jù)類型相似,也就是可以相互轉(zhuǎn)換類型的列,比如int和tinyint可以,而int和char則不可以;
        外鍵的好處:可以使得兩張表關(guān)聯(lián),保證數(shù)據(jù)的一致性和實現(xiàn)一些級聯(lián)操作;
        外鍵的定義語法:
        代碼如下:

        [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, …) 
        REFERENCES tbl_name (index_col_name, …) 
        [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}] 
        [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}] 
        

        該語法可以在 CREATE TABLE 和 ALTER TABLE 時使用,如果不指定CONSTRAINT symbol,MYSQL會自動生成一個名字。
        ON DELETE、ON UPDATE表示事件觸發(fā)限制,可設(shè)參數(shù):

      1. RESTRICT(限制外表中的外鍵改動)
      2. CASCADE(跟隨外鍵改動)
      3. SET NULL(設(shè)空值)
      4. SET DEFAULT(設(shè)默認值)
      5. NO ACTION(無動作,默認的)

      6. 如果子表試圖創(chuàng)建一個在父表中不存在的外鍵值,InnoDB會拒絕任何INSERT或UPDATE操作。如果父表試圖UPDATE或者DELETE任何子表中存在或匹配的外鍵值,最終動作取決于外鍵約束定義中的ON UPDATE和ON DELETE選項。InnoDB支持5種不同的動作,如果沒有指定ON DELETE或者ON UPDATE,默認的動作為RESTRICT:

          1. CASCADE: 從父表中刪除或更新對應(yīng)的行,同時自動的刪除或更新自表中匹配的行。ON DELETE CANSCADE和ON UPDATE CANSCADE都被InnoDB所支持。

          2. SET NULL: 從父表中刪除或更新對應(yīng)的行,同時將子表中的外鍵列設(shè)為空。注意,這些在外鍵列沒有被設(shè)為NOT NULL時才有效。ON DELETE SET NULL和ON UPDATE SET SET NULL都被InnoDB所支持。

          3. NO ACTION: InnoDB拒絕刪除或者更新父表。

          4. RESTRICT: 拒絕刪除或者更新父表。指定RESTRICT(或者NO ACTION)和忽略O(shè)N DELETE或者ON UPDATE選項的效果是一樣的。

          5. SET DEFAULT: InnoDB目前不支持。

          外鍵約束使用最多的兩種情況無外乎:

          1)父表更新時子表也更新,父表刪除時如果子表有匹配的項,刪除失敗;

          2)父表更新時子表也更新,父表刪除時子表匹配的項也刪除。

          前一種情況,在外鍵定義中,我們使用ON UPDATE CASCADE ON DELETE RESTRICT;后一種情況,可以使用ON UPDATE CASCADE ON DELETE CASCADE。

          InnoDB允許你使用ALTER TABLE在一個已經(jīng)存在的表上增加一個新的外鍵:

        ALTER TABLE tbl_name
         ADD [CONSTRAINT [symbol]] FOREIGN KEY
         [index_name] (index_col_name, ...)
         REFERENCES tbl_name (index_col_name,...)
         [ON DELETE reference_option]
         [ON UPDATE reference_option]
        
        

          InnoDB也支持使用ALTER TABLE來刪除外鍵:
        ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol;

        您可能感興趣的文章:

      7. 詳解MySQL中的外鍵約束問題
      8. MySQL 創(chuàng)建主鍵,外鍵和復(fù)合主鍵的語句
      9. 聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        關(guān)于MySQL外鍵的簡單學(xué)習(xí)教程

        關(guān)于MySQL外鍵的簡單學(xué)習(xí)教程:在MySQL中,InnoDB引擎類型的表支持了外鍵約束。 外鍵的使用條件: 1.兩個表必須是InnoDB表,MyISAM表暫時不支持外鍵(據(jù)說以后的版本有可能支持,但至少目前不支持); 2.外鍵列必須建立了索引,MySQL 4.1.2以后的版本在建立外鍵時會自動創(chuàng)建索引,但如果在
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 麻豆视频免费播放| 暖暖在线视频免费视频| 免费黄色app网站| 亚洲一区在线观看视频| 精品久久久久久久久免费影院| 亚洲精品91在线| 99久久99这里只有免费费精品| 亚洲的天堂av无码| 色窝窝免费一区二区三区| 亚洲AV无码专区在线亚| 女人18毛片特级一级免费视频| 亚洲av日韩av永久无码电影| 亚洲AV无码之日韩精品| 一个人免费观看www视频| 亚洲成AV人在线观看天堂无码| 无码精品国产一区二区三区免费| 亚洲福利一区二区| 成人毛片免费网站| 一区二区免费在线观看| 亚洲av中文无码乱人伦在线r▽| 99re视频精品全部免费| 亚洲欧美熟妇综合久久久久| 亚洲第一区精品观看| 最好免费观看高清在线| 亚洲国产精品一区二区三区在线观看 | 国产成人99久久亚洲综合精品| a级大片免费观看| 亚洲午夜国产精品| 四只虎免费永久观看| 在线观看免费无码视频| 亚洲av无码国产综合专区| 亚洲av区一区二区三| 95免费观看体验区视频| 欧美日韩亚洲精品| 久久亚洲精品无码AV红樱桃| 午夜影视在线免费观看| 国产成人免费AV在线播放| 亚洲爆乳精品无码一区二区| 国产精品亚洲成在人线| 免费观看大片毛片| 一个人免费日韩不卡视频|