MySQL 基本語法 (十三) ON DELETE

更新於 發佈於 閱讀時間約 2 分鐘

ON DELETE

當該屬性同時是primary key也是foreign key時則不能 設成ON DELETE SET NULL,因為primary key不能是NULL。

  1. ON DELETE SET NULL

如果對應的`emp_id`被刪掉,就把`manager_id`設成NULL

-- Branch
CREATE TABLE `branch`(
`branch_id` INT PRIMARY KEY,
`branch_name` VARCHAR(20),
`manager_id` INT,
FOREIGN KEY (`manager_id`) REFERENCES `employee`(`emp_id`) ON DELETE SET NULL
);
  1. ON DELETE CASCADE

如果對應的`employee`(`emp_id`)被刪掉,works_with的`emp_id`跟著一起刪掉資料

-- Works_With
CREATE TABLE `works_with`(
`emp_id` INT ,
`client_id` INT ,
`total_sales` INT,
PRIMARY KEY(`emp_id`,`client_id`),
FOREIGN KEY (`emp_id`) REFERENCES `employee`(`emp_id`) ON DELETE CASCADE,
FOREIGN KEY (`client_id`) REFERENCES `client`(`client_id`) ON DELETE CASCADE
);


實作 :

  1. 刪除'小綠'的員工資料
DELETE FROM `employee`
WHERE `emp_id` = 207;

SELECT * FROM `branch`;
SELECT * FROM `works_with`;
SELECT * FROM `branch`;

SELECT * FROM `branch`;

SELECT * FROM `works_with`;

SELECT * FROM `works_with`;





留言
avatar-img
留言分享你的想法!
Iqra Technology-avatar-img
2024/01/18
Youna's article on MySQL's ON DELETE concept provides a clear understanding of its applications and implications in database management. Explaining ON DELETE SET NULL and ON DELETE CASCADE with practical examples involving tables like 'branch' and 'works_with,' the article is a valuable resource for readers seeking to grasp MySQL's ON DELETE functionality. The SQL queries demonstrate the impact of deleting an employee ('小綠') on the 'branch' and 'works_with' tables, and visual representations through SELECT queries enhance clarity. While the article is informative, the inclusion of specific before-and-after examples could further illustrate the ON DELETE actions. Check out this link for a more in-depth understanding: [IQRA Technology - SQL Training](https://iqratechnology.com/academy/sql-training/sql-database/). Kudos to Youna for presenting this insightful piece.
avatar-img
Youna's Devlog
7會員
49內容數
這裡會放一些我寫過的 Leetcode 解題和學習新技術的筆記
Youna's Devlog的其他內容
2023/12/09
2023/12/09
2023/12/09
JOIN 連接 : 可以將2個表格連接在一起
Thumbnail
2023/12/09
JOIN 連接 : 可以將2個表格連接在一起
Thumbnail
看更多
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
最近和同事在聊天時,因為手邊剛好在操作 MySQL,無聊間想到,不知道能不能輸入 bye 來結束連線呢?實際測試了下,沒有。於是開啟了我的第一個 Rust 練習作品之路。
Thumbnail
最近和同事在聊天時,因為手邊剛好在操作 MySQL,無聊間想到,不知道能不能輸入 bye 來結束連線呢?實際測試了下,沒有。於是開啟了我的第一個 Rust 練習作品之路。
Thumbnail
確認.... 刪除.... 小小的兩個動作 又把你的名字從電話簿刪除了 這是一切都平靜後 又留給我的電話號碼 我知道 我記不住 所以 輸進了手機裡 今天 刪除了 雖然 按下去的那一刻 我全身起雞皮疙瘩
Thumbnail
確認.... 刪除.... 小小的兩個動作 又把你的名字從電話簿刪除了 這是一切都平靜後 又留給我的電話號碼 我知道 我記不住 所以 輸進了手機裡 今天 刪除了 雖然 按下去的那一刻 我全身起雞皮疙瘩
Thumbnail
要走了 要走了 要走了吧 妳要我做的 那些改變 但妳的心中 其實沒有我 我不是那個 妳看得起的他 所以妳 要走了要走了 要走了嗎? 妳要我給的 那些感覺 但妳的心中 其實沒有我 我不是那個 妳懷念著的他 所以妳 要走了要走了 要走了嗎? 妳要我忍的
Thumbnail
要走了 要走了 要走了吧 妳要我做的 那些改變 但妳的心中 其實沒有我 我不是那個 妳看得起的他 所以妳 要走了要走了 要走了嗎? 妳要我給的 那些感覺 但妳的心中 其實沒有我 我不是那個 妳懷念著的他 所以妳 要走了要走了 要走了嗎? 妳要我忍的
Thumbnail
情境 M小姐常常需要在檔案之間轉貼資料,由A檔案複製資料貼到B檔案內,中間不小心在轉貼資料之間,建立了連結的來源資料,而M小姐也不知道到底連結的資料來自於哪一張工作表,每每開啟B檔案時,總會出現「此活頁簿內含一或多個可能不安全的外部來源連結」訊息,M小姐該如何管理這個連結呢?
Thumbnail
情境 M小姐常常需要在檔案之間轉貼資料,由A檔案複製資料貼到B檔案內,中間不小心在轉貼資料之間,建立了連結的來源資料,而M小姐也不知道到底連結的資料來自於哪一張工作表,每每開啟B檔案時,總會出現「此活頁簿內含一或多個可能不安全的外部來源連結」訊息,M小姐該如何管理這個連結呢?
Thumbnail
那個「聯結」放錯地方了 這週的主題是:矛盾和衝突會浮出來,化解掉,表面上會不舒服,很難過,甚至有些鬥爭,但同時它也是「勇者之光」。 我的生活中沒什麼事,所以也沒什麼矛盾衝突的事情,昨天想到了,最近困擾的事情是: 1.瞬間記憶很差, 常常動作做了後,腦袋裏沒印象; 前一秒做的事情、放的東西、想到的,下
Thumbnail
那個「聯結」放錯地方了 這週的主題是:矛盾和衝突會浮出來,化解掉,表面上會不舒服,很難過,甚至有些鬥爭,但同時它也是「勇者之光」。 我的生活中沒什麼事,所以也沒什麼矛盾衝突的事情,昨天想到了,最近困擾的事情是: 1.瞬間記憶很差, 常常動作做了後,腦袋裏沒印象; 前一秒做的事情、放的東西、想到的,下
Thumbnail
我可以用任何的、我記憶中的,留下那些我想留下的,再也沒有誰、也不讓誰更動我曾經那樣熱烈的情感,那些灼傷彼此的愛的火光,讓記憶停在妳走了的那一刻!妳走了跟妳死了,都是一樣的!
Thumbnail
我可以用任何的、我記憶中的,留下那些我想留下的,再也沒有誰、也不讓誰更動我曾經那樣熱烈的情感,那些灼傷彼此的愛的火光,讓記憶停在妳走了的那一刻!妳走了跟妳死了,都是一樣的!
Thumbnail
mysql中假設groupBy('customer_id') MIN('giveup_date'), 如果欄位中有NULL, 則預設會被忽略。 以下圖為例, 則會拿到2021-09-24 16:42:20。 實務上可能會遇到不想忽略NULL的情況, 解決方法如下: ->select(    DB
Thumbnail
mysql中假設groupBy('customer_id') MIN('giveup_date'), 如果欄位中有NULL, 則預設會被忽略。 以下圖為例, 則會拿到2021-09-24 16:42:20。 實務上可能會遇到不想忽略NULL的情況, 解決方法如下: ->select(    DB
Thumbnail
較完整標題:lose 與「失」或「失遺」或「失喪」或「失消」或「落失」或「落失遺」或「離失」或「亾失」或「亡失」或「亾失軼」或「亡失軼」或「亾失佚」或「亡失佚」或「軼」或「亡軼」或「佚」或「亡佚」或「軼失」或「失軼」或「落出」或「掉」或「失掉」或「掉失」或「落掉」或「去失」或「履失」或「走失」等橋接
Thumbnail
較完整標題:lose 與「失」或「失遺」或「失喪」或「失消」或「落失」或「落失遺」或「離失」或「亾失」或「亡失」或「亾失軼」或「亡失軼」或「亾失佚」或「亡失佚」或「軼」或「亡軼」或「佚」或「亡佚」或「軼失」或「失軼」或「落出」或「掉」或「失掉」或「掉失」或「落掉」或「去失」或「履失」或「走失」等橋接
Thumbnail
社群網站的出現,使得我們有權利去解除與一個人的關係,但這其實是一件弔詭的事情,好像一個按鍵就可以將另一個人完全抹滅乾淨,完全的革除,不讓對方出現在自己的世界。好像多了一個這樣的設定,我們對於自己的人生境遇就有了選擇的餘地,終於可以決定什麼了。而換個角度去思索,是什麼原因讓我們想透過一個執行鍵去解除?
Thumbnail
社群網站的出現,使得我們有權利去解除與一個人的關係,但這其實是一件弔詭的事情,好像一個按鍵就可以將另一個人完全抹滅乾淨,完全的革除,不讓對方出現在自己的世界。好像多了一個這樣的設定,我們對於自己的人生境遇就有了選擇的餘地,終於可以決定什麼了。而換個角度去思索,是什麼原因讓我們想透過一個執行鍵去解除?
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News