SQL級聯更新,級聯刪除
今天做了個測試,搞清楚了級聯更新,級聯刪除
級聯刪除:當我們沒有對鍵加級聯刪除的時候,刪除主鍵表中的數據(外鍵表有引用的數據)時,會報錯,不能刪除,必須先把相關聯的外鍵數據
刪除了,才能刪除主鍵表的數據,但如果新建外鍵的時候設置了級聯刪除,那么當我們刪除主鍵表的數據時,數據庫就會自動幫我們把相
關聯的外鍵表數據刪除掉,這個好理解
級聯更新:一直困擾我,級聯更新有什么用,是更新什么東西呢,今天做了個測試(mssql),終於搞清楚了一點,我們修改主鍵表中和外鍵表進
行關聯的字段(一般是主鍵表的主鍵,mssql好像必須是主鍵),如果我們沒有設置級聯更新,那么這個時候會提示不能更新,因為外鍵表
還有數據正在和這條數據進行關聯,但是如果設置了級聯更新,那么外鍵表的數據會自動幫我們更新
級聯刪除:當我們沒有對鍵加級聯刪除的時候,刪除主鍵表中的數據(外鍵表有引用的數據)時,會報錯,不能刪除,必須先把相關聯的外鍵數據
刪除了,才能刪除主鍵表的數據,但如果新建外鍵的時候設置了級聯刪除,那么當我們刪除主鍵表的數據時,數據庫就會自動幫我們把相
關聯的外鍵表數據刪除掉,這個好理解
級聯更新:一直困擾我,級聯更新有什么用,是更新什么東西呢,今天做了個測試(mssql),終於搞清楚了一點,我們修改主鍵表中和外鍵表進
行關聯的字段(一般是主鍵表的主鍵,mssql好像必須是主鍵),如果我們沒有設置級聯更新,那么這個時候會提示不能更新,因為外鍵表
還有數據正在和這條數據進行關聯,但是如果設置了級聯更新,那么外鍵表的數據會自動幫我們更新