我有以下两个字段删除或更新SQL记录
jobid | statusCode
现在,这里是我想做的事情,我想“给定作业ID删除reocrd如果的StatusCode小于一定值的表,否则用新的statusCode更新此记录“
我的问题是有一些单一的SQL操作来执行上述工作,或者我必须使用多个SQL”if-else“类查询。我的数据库是SQlite3
Regards, Farrukh Arshad。
我有以下两个字段删除或更新SQL记录
jobid | statusCode
现在,这里是我想做的事情,我想“给定作业ID删除reocrd如果的StatusCode小于一定值的表,否则用新的statusCode更新此记录“
我的问题是有一些单一的SQL操作来执行上述工作,或者我必须使用多个SQL”if-else“类查询。我的数据库是SQlite3
Regards, Farrukh Arshad。
SQLite有一个命令UPDATE OR REPLACE,该命令组合了更新和插入,但这仅适用于您希望避免插入重复的常见情况。
DELETE命令没有您想要的功能。
SQLite没有任何控制流语句,所以最好的办法是同时执行DELETE/UPDATE语句:
DELETE FROM MyTable
WHERE jobid = ?
AND statusCode < ?;
UPDATE MyTable
SET statusCode = ?
WHERE jobid = ?; -- does nothing if record was deleted
像这样的东西应该有所帮助:
这不起作用。 –
只会有1 if-else used –