微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何重命名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;也可能是个好主意。

原文地址:https://www.jb51.cc/sqlite/198487.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐