我有一个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 (see here),但我无法使它适应H2。
长话短说:如何将列顺序更改为ID, STREET, HOUSENUMBER ...?是否有类似于以下内容的解决方案:
ALTER TABLE "ADDRESSES" MODIFY COLUMN "ID" BEFORE "STREET";如有任何帮助,敬请见谅。
发布于 2014-04-07 07:10:40
H2目前不支持重新排序列。您需要运行多个语句:
alter table add支持定位),最后删除旧列。rename table,然后使用create table ... as select。https://stackoverflow.com/questions/22812765
复制相似问题