如何在特定位置添加列?

18

我的代码:

mDb.execSQL("ALTER TABLE " + table_name + 
            " ADD COLUMN " + column_name + " text");

将列添加到最后一列:

Column1 Column2 Column3 Column4 Column5 NewAddedColumn6

是否可以在Column3Column4之间添加一列?

Column1 Column2 Column3 NewAddedColumn6 Column4 Column5

这是一个 XY 问题(关于尝试解决方案而不是实际问题的问题);请描述您尝试通过此方法实现的目标。 - user4157124
考虑对 SELECT 语句中的列顺序进行重新排列。 - user4157124
1个回答

27
根据SQLite > ALTER TABLE > ADD COLUMN文档:

使用ADD COLUMN语法向现有表添加新列。新列始终附加到现有列列表的末尾。

因此,对于您的问题,答案是。 但是,有一个解决方法,请参见此答案

2
为什么需要在Column3和Column4之间创建一列(无论它是什么)? - pskink
虽然时间已经很晚,也许没有人在意,但我需要这个的原因是:用户可以动态创建表格并将所有列列出/渲染出来。如果用户后来决定这张表格需要一个额外的列,它将显示在最后一个位置。但也许如果这个信息与另一列相邻,那么这个信息会更有用。当你向表格中添加新项目/参考时,这个问题变得更加严重,工作流程非常不方便,需要上下滚动。最后但并非最不重要的是,同样的问题也适用于Excel导出。 - Tower Jimmy
字段的位置可能仅需要用于显示目的。这可以通过选择特定位置的特定列轻松实现。select * from emp 将导致默认列位置定义。而 select empno, empname, deptno, salary, etc from emp 将重新排序结果列位置,这对于报告类型的视图非常方便。对于 Excel 类型的导出,显式选择列也将有助于获得所需的结果。 - Ravinder Reddy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接