繁体   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