簡體   English   中英

SQL 刪除時更改表外鍵

[英]SQL Alter Table Foreign key On Delete

我的數據庫中有一個名為 trains 的表,其中包含以下列:

id號、 namestation

站是其他表stations的外鍵。 當我從stations中刪除某些特定行時,由於trains引用了該表,因此出現錯誤。 因此,我嘗試做的是在trains上執行alter table並將on delete set null屬性添加到station列,如下所示:

alter table trains alter column station on delete set null;

但是,這似乎是錯誤的語法,我找不到正確的語法,這樣就可以在不刪除整個表並再次創建它的情況下做到這一點(所以我需要使用這個alter命令)。

如果您使用的是 SQL 服務器,則無法更改外鍵約束以添加刪除。 首先刪除約束,然后創建一個新約束。

ALTER TABLE trains 
DROP CONSTRAINT constraintname;

ALTER TABLE trains 
  ADD CONSTRAINT fk_station
  FOREIGN KEY (child_column_name) 
  REFERENCES stations(parent_column_name) 
  ON DELETE CASCADE;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM