只有空sql表存在(不丢弃)

时间:2013-06-02 20:38:43

标签: sql

如果表中的内容存在,我该如何删除?最好是sql语句应该是标准语句,而不是面向任何db。

请注意,如果表格存在,我不想删除表格,即

DROP TABLE IF EXISTS foo

PS:我已经检查过truncate和delete但是如果表存在则它们不符合要求。

2 个答案:

答案 0 :(得分:1)

修改

INFORMATION_SCHEMA通常不会在不同版本之间进行更改,并且在大多数数据库中都很常见,而且据我所知,这是检查SQL中是否存在表的最正确方法:

IF (EXISTS (SELECT * 
                 FROM INFORMATION_SCHEMA.TABLES 
                 WHERE TABLE_NAME = tableName ))
BEGIN
    DELETE FROM tableName
END

答案 1 :(得分:1)

据我所知,“如果存在”没有标准。有些数据库支持它,有些则不支持,并且会给你一个语法异常。