我在 MySQL 中有以下查询。这会将新项目插入到列表中,其中新项目的位置设置为比当前最大位置大 1。
INSERT INTO items
SET item_name="apple",
position=(SELECT MAX(i.position)+1 FROM items i WHERE i.list_id=12),
list_id=12
这有效,但是对于position
,如果 SELECT 语句返回一个空集,我想插入一个 0 。这是否可以在一个查询中完成(这样我可以避免使用事务)?