表名是Scores.
执行以下操作是否正确?
IF EXISTS(SELECT *
FROM dbo.Scores)
DROP TABLE dbo.Scores
Run Code Online (Sandbox Code Playgroud) 有没有一种简单的方法来检查表中的列是否存在外键?我正在编写一个脚本,只有当它不存在时才会添加外键.
我在MySQL数据库上.
我这样做,但它不起作用.
ALTER TABLE `object` DROP FOREIGN KEY IF EXISTS `object_ibfk_1`;
Run Code Online (Sandbox Code Playgroud)
我试图把这个IF EXISTS放在任何地方.放下之前如何检查外键是否存在?
我在MS SQL Server 2012中有一个奇怪的问题.我正在尝试检查升级脚本中是否已存在外键.我过去使用系统OBJECT_ID()函数来查找表,视图和过程,但是当我尝试使用它来查找外键时它不起作用.
-- This query always returns null
SELECT OBJECT_ID(N'FK_Name', N'F')
-- This query works, returning the object ID for the foreign key
SELECT object_id FROM sys.foreign_keys WHERE name=N'FK_Name'
Run Code Online (Sandbox Code Playgroud)
这个 SO答案表明我的OBJECT_ID()查询应该有效.