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
留言分享你的想法!
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
最近和同事在聊天時,因為手邊剛好在操作 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
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News