【发布时间】:2019-10-28 13:46:59
【问题描述】:
我明白代码删除约束
ALTER TABLE <TABLE_NAME> DROP CONSTRAINT <FOREIGN_KEY_NAME>
但我不知道我的 FK 名称,我没有给它一个,并且已经阅读了自动给它一个。
我怎样才能找到这个?
【问题讨论】:
标签: sql sql-server
我明白代码删除约束
ALTER TABLE <TABLE_NAME> DROP CONSTRAINT <FOREIGN_KEY_NAME>
但我不知道我的 FK 名称,我没有给它一个,并且已经阅读了自动给它一个。
我怎样才能找到这个?
【问题讨论】:
标签: sql sql-server
假设你询问的是 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
【讨论】: