我有一个包含 1600 万个条目且没有主键的 H2 数据库。我使用以下语句成功添加了一个自动递增的主键:
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";
如有任何帮助,我们将不胜感激。
最佳答案
H2 目前不支持重新排序列。您需要运行多个语句:
首先重命名该列,然后在正确的位置添加正确名称的新列(
alter table add
支持定位),最后删除旧的列。或者,可能更优雅,使用
rename table
然后create table ... as select
。
关于sql - H2 数据库 - 使用 SQL 对列重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22812765/