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

前端之家收集整理的这篇文章主要介绍了如何重命名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相关文章