[英]H2 Database - Reorder columns using SQL
我有一个H2数据库,有1600万个条目,没有主键。 我使用以下语句成功添加了自动递增主键:
ALTER TABLE
PUBLIC.ADDRESSES ADD ID BIGINT AUTO_INCREMENT;
ALTER TABLE
PUBLIC.ADDRESSES ADD PRIMARY KEY (ID)
现在的问题是,列顺序是STREET, HOUSENUMBER, ..., ID
,但我希望ID
成为表的第一列。 看起来有一个相应的ALTER TABLE
语句MySQL( 见这里 ),但我无法将其改编为H2。
长话短说:如何将列顺序更改为ID, STREET, HOUSENUMBER ...
? 有没有类似的解决方案:
ALTER TABLE "ADDRESSES" MODIFY COLUMN "ID" BEFORE "STREET";
任何帮助都非常感谢。
H2目前不支持重新排序列。 您需要运行多个语句:
首先,重命名该列,然后在正确的位置添加一个具有正确名称的新列( alter table add
支持定位),最后删除旧列。
或者,可能更优雅,使用rename table
,然后create table ... as select
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.