我有一个非常简单的选择,看起来像这样:
SELECT path FROM items WHERE id = 17
现在在表中items
还有一个列count
,我希望每次执行上述查询时都递增。
执行此操作的最佳方法是什么?
在
同一个查询中没有办法做到这一点。
你可以做这样的事情:
START TRANSACTION;
UPDATE ....
SELECT ....
COMMIT;
您需要创建一个存储过程,然后使用
START TRANSACTION;
UPDATE items set count = (SELECT MAX(count)+1 from items);
SELECT path FROM items WHERE id = 17;
COMMIT;
尝试将更新和选择组合成一个调用,应该返回来自 SELECT 的响应
UPDATE items SET count = count + 1; SELECT path FROM items WHERE id = 17