SQL插入行并增加其他行

时间:2013-01-18 13:17:16

标签: sql sqlite

我想插入一行并在之后的所有其他行中增加一个值。有没有办法在单个sql插入中执行此操作?

id |  value
------------
a  |  0
b  |  1
c  |  2

插入d | 2应该使DB看起来像这样:

id |  value
------------
a  |  0
b  |  1
d  |  2
c  |  3

2 个答案:

答案 0 :(得分:4)

您可以尝试创建一个before insert触发器,它将相应地更新旧值。您的数据库是否支持触发器?

答案 1 :(得分:3)

我同意George VremescuAFTER INSERT TRIGGER听起来像是要走的路。

CREATE TRIGGER <triggername> AFTER  
INSERT ON <tablename> WHEN 
(
   -- Update logic here
)

要获取最后插入的行ID,您应该使用last_insert_row()