使用sqlite中的最后一行插入数据库行时出现问题

使用sqlite中的最后一行插入数据库行时出现问题,sqlite,sql-insert,insert-update,Sqlite,Sql Insert,Insert Update,我希望能够在最初和任何时候做到以下几点 插入余额(期末金额、期初金额、已创建、发送id) 按id描述限额1从余额订单中选择结账金额+:值、结账金额、:日期、:发送id 基本上,我是通过使用前面的值来插入的。但是,如果没有要开始的值,则不会插入任何内容 我可以使用一个第一次工作但在后续插入中重复的联合 我想避免两次旅行。有办法做到这一点吗 此外,tx_id将始终是唯一的。我认为您希望这样: insert into balance (closing_amount, opening_amount,

我希望能够在最初和任何时候做到以下几点

插入余额(期末金额、期初金额、已创建、发送id)
按id描述限额1从余额订单中选择结账金额+:值、结账金额、:日期、:发送id
基本上,我是通过使用前面的值来插入的。但是,如果没有要开始的值,则不会插入任何内容

我可以使用一个第一次工作但在后续插入中重复的联合

我想避免两次旅行。有办法做到这一点吗


此外,tx_id将始终是唯一的。

我认为您希望这样:

insert into balance (closing_amount, opening_amount, created, tx_id)
select coalesce(max(closing_amount), 0) + :value, 
       coalesce(max(closing_amount), 0), 
       :date, 
       :tx_id 
from (       
  select closing_amount 
  from balance 
  order by tx_id desc
  limit 1
) t;
您只需要最后一个
结账金额
,因此子查询中的
max(结账金额)
将分别返回该
结账金额
null

请参阅简化的。

“我希望避免两次跳闸”,顺便指出,由于SQLite是一个本地链接的数据库引擎,避免多次“跳闸”(通常)远不如使用客户机-服务器数据库重要。(话虽如此,我刚刚调整了一些多级视图,这样我就可以“一次调用中完成所有操作”!)