您的位置:首页 > 数据库

SQLite如何删除、修改、重命名列?

2009-09-21 14:51 274 查看
首先声明:如果你想直接alter,放弃吧。以下内容可以忽略了。

sqlite官方说明如下:

SQLite supports a limited subset of ALTER TABLE. The ALTER TABLE command in SQLite allows the user to rename a table or to add a new column to an existing table. It is not possible to rename a column, remove a column, or add or remove constraints from a table.

大概意思是sqlite的alter功能只是alter table的一个子集,只有部分功能,比如重命名表名,新增列到现有表中。

不支持现有列的重命名,删除和修改。

我们只能通过临时表来解决。

BEGIN TRANSACTION;
CREATE TEMPORARY TABLE temp_table(a);
INSERT INTO temp_table SELECT a FROM 表;
DROP TABLE 表;
CREATE TABLE 表(a);
INSERT INTO 表 SELECT a FROM temp_table;
DROP TABLE temp_table;
COMMIT;


这样可以解决,但是如果有自增主键的话,那就要小心了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: