如何在SQLite3中执行此操作?

时间:2011-11-03 23:04:33

标签: syntax sqlite

尝试在SQLite3中执行此操作。

ALTER TABLE foo MODIFY (vid NUMBER(6));

1 个答案:

答案 0 :(得分:2)

您无法在SQLite中修改列。

您必须创建一个TEMPORARY表,删除原始表,再次创建IT,然后从TEMPORARY表中返回。

假设列的数量和顺序保持不变,并且表中不包含REFERENCEd PRIMARY或UNIQUE KEY,则可以使用以下简化语法:

CREATE TEMP TABLE TempTable AS SELECT * FROM YourTable;
DROP TABLE YourTable;
CREATE TABLE YourTable (col defs here. . .);
INSERT INTO YourTable SELECT * FROM TempTable;

如果您要更改列的数量或顺序,您将在INSERT语句中明确列出列。