2011-04-27 71 views
39

RESTRICT和NO ACTION之間的mySQL FK有什麼區別?從文檔看,他們看起來完全一樣。是這樣嗎?如果是這樣,爲什麼都有呢?mySQL RESTRICT和NO ACTION

回答

11

它符合標準的SQL語法。像manual說:(重點煤礦)

NO ACTION:從標準SQL關鍵字。在MySQL中,相當於RESTRICT。如果在被引用的表中存在相關的外鍵值,MySQL服務器會拒絕父表的刪除或更新操作。 某些數據庫系統具有延期檢查,NO ACTION是延期檢查。在MySQL中,外鍵約束被立即檢查,所以NO ACTION與RESTRICT相同。

13

它們在MySQL中是完全相同的。

在SQL 2003標準有5個不同參照動作:

CASCADE 
RESTRICT 
NO ACTION 
SET NULL 
SET DEFAULT 

NO ACTIONRESTRICT之間的區別在於,根據標準,NO ACTION立即推遲而RESTRICT行爲。

相關問題