📅  最后修改于: 2023-12-03 15:35:07.336000             🧑  作者: Mango
当程序员需要清空 SQLite 数据库中的表数据时,可以使用 TRUNCATE TABLE
命令。
TRUNCATE TABLE table_name
table_name
: 要清空数据的表名。TRUNCATE TABLE
命令会立即而不是逐行删除表中的所有数据,所以执行速度较快。DELETE
权限才能使用 TRUNCATE TABLE
命令。TRUNCATE TABLE
命令在删除表数据的同时,还将自动重置表的自增量为 1。TRUNCATE TABLE
命令不会激活表的 ON DELETE
触发器。TRUNCATE TABLE
命令不支持删除部分数据,只能删除整个表的数据。TRUNCATE TABLE user;
BEGIN TRANSACTION;
TRUNCATE TABLE user;
UPDATE sqlite_sequence SET seq = 0 WHERE name = 'user';
COMMIT;
以上代码将先开始一个事务,然后执行 TRUNCATE TABLE
命令清空 user
表中的所有数据,最后使用 UPDATE
语句将 sqlite_sequence
表中 name
为 user
的自增量重置为 0,并提交事务。
TRUNCATE TABLE
命令是 SQLite 中清空表数据的最佳方式之一。它不仅执行速度较快,还能自动重置表的自增量,非常方便。但是需要注意的是,该命令会删除整个表的数据,且不会激活表的 ON DELETE
触发器,应在合适的场景使用。