我有一个带有列的表:
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。我想以这种方式进行修改,无论删除哪一行,数字都会自动排列
答案 0 :(得分:0)
假设行将按字母顺序编号,那么该代码适用于我测试过的 SQLite ,我相信它应适用于 MySql 和 H2 :
UPDATE tablename SET Number = (SELECT COUNT(*) FROM tablename AS t WHERE t.Name <= tablename.Name)
用表名替换tablename