如何重命名SQLite数据库表中的列?

我需要重命名sqlite数据库中的一些表中的几个列。
我知道一个 similar question曾经问过stackoverflow以前,但它是一般的sql,而sqlite的情况没有提到。

ALTER TABLEsqlite文档,我认为不可能做到这一点“轻松”(即单个ALTER TABLE语句)。

我想知道有人知道一个通​​用的sql方式做这样的事情与sqlite。

假设你有一个表,需要将“colb”重命名为“col_b”:

首先你重命名旧表:

ALTER TABLE orig_table_name RENAME TO tmp_table_name;

然后根据旧表创建新表,但使用更新的列名:

CREATE TABLE orig_table_name (
  col_a INT,col_b INT
);

然后从原始表中复制内容

INSERT INTO orig_table_name(col_a,col_b)
SELECT col_a,colb
FROM tmp_table_name;

最后,放下旧桌子。

DROP TABLE tmp_table_name;

将所有这些都包含在BEGIN TRANSACTION中;和COMMIT;也可能是个好主意。

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能