更新序列号为H2

时间:2018-11-02 11:29:03

标签: java mysql sql h2

我有一个带有列的表:

Name   Number

Arun     Null
Kiran    Null
Varun    Null

我想用1-3的序列号更新该数字,所以它看起来像这样:

Name,   Number

 Arun    1
Kiran    2
Varun    3

如何在H2数据库中执行此操作?

用例是这个。可以说我将10​​条记录添加到表中。在一种情况下,我将删除第七行。现在1st 6行的编号为1-6。由于我已经删除了第七行,所以总行数现在为9。第八行和第9行的数字分别为9和10。我想以这种方式进行修改,无论删除哪一行,数字都会自动排列

1 个答案:

答案 0 :(得分:0)

假设行将按字母顺序编号,那么该代码适用于我测试过的 SQLite ,我相信它应适用于 MySql H2

UPDATE tablename SET Number = (SELECT COUNT(*) FROM tablename AS t WHERE t.Name <= tablename.Name) 

用表名替换tablename