gpt4 book ai didi

SQLite3 : how to reorder columns in a table?

转载 作者:IT王子 更新时间:2023-10-29 06:18:54 24 4
gpt4 key购买 nike

似乎对 SQLite3 表中的列进行重新排序并不简单。至少 Firefox 中的 SQLite Manager 不支持此功能。例如,将 column2 移动到 column3,将 column5 移动到 column2。有没有一种方法可以使用 SQLite 管理软件或脚本对 SQLite 表中的列进行重新排序?

最佳答案

这在任何 DBMS 中都不是一项微不足道的任务。您几乎肯定必须创建一个具有所需顺序的新表,并将数据从一个表移动到该顺序。没有用于对列重新排序的 alter table 语句,因此无论是在 sqlite 管理器中还是在任何其他地方,您都找不到在同一个表中执行此操作的方法。

如果你真的想改变顺序,你可以这样做:

假设你有表A:

create table tableA(
col1 int,
col3 int,
col2 int);

您可以创建一个 tableB,其中的列按您想要的方式排序:

create table tableB(
col1 int,
col2 int,
col3 int);

然后将数据从tableA移动到tableB:

insert into tableB
SELECT col1,col2,col3
FROM tableA;

然后把原来的tableA去掉,把tableB重命名为TableA:

DROP table tableA;
ALTER TABLE tableB RENAME TO tableA;

sqlfiddle demo

关于SQLite3 : how to reorder columns in a table?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20574113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com