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