删除外键sql? [复制]

Posted

技术标签:

【中文标题】删除外键sql? [复制]【英文标题】:Remove foreign key sql? [duplicate] 【发布时间】:2019-10-28 13:46:59 【问题描述】:

我明白代码删除约束

ALTER TABLE <TABLE_NAME> DROP CONSTRAINT <FOREIGN_KEY_NAME>

但我不知道我的 FK 名称,我没有给它一个,并且已经阅读了自动给它一个。

我怎样才能找到这个?

【问题讨论】:

【参考方案1】:

假设你询问的是 SQL Server,你可以试试这个:

DECLARE @table_name varchar(50) = 'MyTable'
DECLARE @fk_name varchar(100)
SELECT @fk_name = CONSTRAINT_NAME 
    FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS 
    WHERE TABLE_NAME = @table_name AND CONSTRAINT_TYPE='FOREIGN KEY'

DECLARE @sql nvarchar(200) = 'ALTER TABLE [' + @table_name + '] DROP CONSTRAINT [' + @fk_name + ']'

EXEC sp_executesql @sql

【讨论】:

以上是关于删除外键sql? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

SQL 使用新的外键复制数据

尝试在 SQL 中为表创建外键时出错? [复制]

外键 级联更新/删除 复制表 修改表

当外键也是主键时,在 MySQL 上出现外键错误? [复制]

如何从 SQL Server中手动删除复制

如何从 mysql 数据库中删除所有记录? [复制]