繁体   English   中英

H2数据库 - 使用SQL重新排序列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM