使用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是一个本地链接的数据库引擎,避免多次“跳闸”(通常)远不如使用客户机-服务器数据库重要。(话虽如此,我刚刚调整了一些多级视图,这样我就可以“一次调用中完成所有操作”!)