如果表中的内容存在,我该如何删除?最好是sql语句应该是标准语句,而不是面向任何db。
请注意,如果表格存在,我不想删除表格,即
DROP TABLE IF EXISTS foo
PS:我已经检查过truncate和delete但是如果表存在则它们不符合要求。
答案 0 :(得分:1)
修改强>
INFORMATION_SCHEMA
通常不会在不同版本之间进行更改,并且在大多数数据库中都很常见,而且据我所知,这是检查SQL中是否存在表的最正确方法:
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = tableName ))
BEGIN
DELETE FROM tableName
END
答案 1 :(得分:1)
据我所知,“如果存在”没有标准。有些数据库支持它,有些则不支持,并且会给你一个语法异常。