sqlite 如何删除除前五列以外的所有列?

mw3dktmi  于 2022-11-24  发布在  SQLite
关注(0)|答案(1)|浏览(147)

我有一个大约有90列的表,我想删除第5列之后的所有列。如何删除除前5列之外的所有列?

uhry853o

uhry853o1#

如果您只想保留几列,那么用最少的代码创建一个只包含这些列的新表。您应该这样做in a transaction以避免丢失数据。
包含两列的示例:

ALTER TABLE TableName RENAME TO TmpTableName;
CREATE TABLE TableName(Col1 INTEGER, Col2 INTEGER);
INSERT INTO TableName(Col1, Col2) SELECT Col1, Col2 FROM TmpTableName;
DROP TABLE TmpTableName;

version 3.35.0之前,SQLite不支持删除列,因此这是唯一可能的选项。

相关问题