跳至主要内容

TRUNCATE 语句

TRUNCATE TABLE

TRUNCATE TABLE [IF EXISTS] [db.]name [ON CLUSTER cluster]

从表中删除所有数据。当省略 IF EXISTS 子句时,如果表不存在,则查询会返回错误。

TRUNCATE 查询不支持 视图文件URL缓冲区 表引擎。

您可以使用 alter_sync 设置来设置等待副本执行的操作。

您可以使用 replication_wait_for_inactive_replica_timeout 设置指定等待非活动副本执行 TRUNCATE 查询的时间长度(以秒为单位)。

注意

如果 alter_sync 设置为 2,并且某些副本在 replication_wait_for_inactive_replica_timeout 设置指定的时间内一直处于非活动状态,则会抛出 UNFINISHED 异常。

TRUNCATE ALL TABLES

TRUNCATE ALL TABLES FROM [IF EXISTS] db [ON CLUSTER cluster]

从数据库中的所有表中删除所有数据。

TRUNCATE DATABASE

TRUNCATE DATABASE [IF EXISTS] db [ON CLUSTER cluster]

从数据库中删除所有表,但保留数据库本身。当省略 IF EXISTS 子句时,如果数据库不存在,则查询会返回错误。