如果表存在SQL,则删除行

我有一个脚本,使用DROP TABLE IF EXISTS删除一些表的负载,这是有效的。

在这个脚本中还有一个删除操作,用于从另一个表中删除我不管理的行。 这个表可能存在也可能不存在。在尝试删除一行之前,有没有任何检查表存在?

这需要适用于MYSQL和SQLServer

谢谢Alex


要检入SQL SERVER,

IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'TheSchema' AND  TABLE_NAME = 'TheTable'))
BEGIN
    --Do Stuff
END

检入mysql:

你只需数数:

SELECT COUNT(*)
FROM information_schema.tables 
WHERE table_schema = '[database name]' 
AND table_name = '[table name]';

这一个删除行,并不抱怨,如果它不能。

DELETE IGNORE FROM table WHERE id=1

来源于此。


IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TABLE_NAME]') AND type in (N'U'))
链接地址: http://www.djcxy.com/p/94445.html

上一篇: Delete row if table exists SQL

下一篇: Subquery using Exists 1 or Exists *