使用sqlite更改表删除列语法错误

问题描述 投票:0回答:1

这是我的表的架构:

create table LPCG(ID integer primary key, PCG text, Desc text, test text);

我希望删除“test”列,因此使用命令:

alter table LPCG drop column test;

这是我收到的错误消息:

Error: near "drop": syntax error

有人可以帮我纠正我的错误吗?

另外一个问题是:我理解ID是主键属性。我可以删除该专栏吗?如果没有,是否有任何人使用过的解决方法?

预先感谢您的帮助。

sqlite primary-key alter-table
1个回答
52
投票

直到版本 3.35,SQLite 不支持

ALTER TABLE DROP COLUMN
语句。您只能重命名表,或添加列。

如果您想删除一列,最好的选择是创建一个不包含该列的新表,然后删除旧表以重命名新表。

截至 2021 年,

ALTER TABLE
支持仍然有限,但包括在有条件的情况下删除专栏。

© www.soinside.com 2019 - 2024. All rights reserved.