首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >H2数据库-使用SQL重新排序列

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

Stack Overflow用户
提问于 2014-04-02 13:18:09
回答 1查看 2.4K关注 0票数 3

我有一个H2数据库,有1600万个条目,没有主键。我使用以下语句成功地添加了一个自动递增主键:

代码语言:javascript
复制
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 ...?是否有类似于以下内容的解决方案:

代码语言:javascript
复制
ALTER TABLE "ADDRESSES" MODIFY COLUMN "ID" BEFORE "STREET";

如有任何帮助,敬请见谅。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-07 07:10:40

H2目前不支持重新排序列。您需要运行多个语句:

  • 首先,重命名该列,然后在正确的位置添加一个具有正确名称的新列(alter table add支持定位),最后删除旧列。
  • 或者,也许更优雅一些,使用rename table,然后使用create table ... as select
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22812765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档