共計 640 個字符,預計需要花費 2 分鐘才能閱讀完成。
在 SQLite 中,外鍵約束可以定義在表的列上,以確保數據完整性。外鍵約束可以包括 ON DELETE 和 ON UPDATE 兩種約束。
ON DELETE 約束:當父表中的記錄被刪除時,可以定義在子表中的外鍵列上的 ON DELETE 約束來指定子表中相關記錄的處理方式。常見的 ON DELETE 約束包括:
CASCADE:刪除父表中的記錄時,子表中相應的記錄也會被刪除。
SET NULL:刪除父表中的記錄時,子表中相應的外鍵列會被設置為 NULL。
SET DEFAULT:刪除父表中的記錄時,子表中相應的外鍵列會被設置為默認值。
RESTRICT:如果有任何子記錄與父記錄關聯,則不允許刪除父記錄。
NO ACTION:類似于 RESTRICT,如果有子記錄與父記錄關聯,則不允許刪除父記錄。
ON UPDATE 約束:當父表中的記錄被更新時,可以定義在子表中的外鍵列上的 ON UPDATE 約束來指定子表中相關記錄的處理方式。常見的 ON UPDATE 約束包括:
CASCADE:更新父表中的記錄時,子表中相應的記錄也會被更新。
SET NULL:更新父表中的記錄時,子表中相應的外鍵列會被設置為 NULL。
SET DEFAULT:更新父表中的記錄時,子表中相應的外鍵列會被設置為默認值。
RESTRICT:如果有任何子記錄與父記錄關聯,則不允許更新父記錄。
NO ACTION:類似于 RESTRICT,如果有子記錄與父記錄關聯,則不允許更新父記錄。
通過使用 ON DELETE 和 ON UPDATE 約束,可以確保父子表之間的數據關系保持一致性和完整性。