SQL SELECT和UPDATE同时进行

时间:2015-03-16 16:29:28

标签: php mysql sql

我有一个非常简单的SELECT看起来像这样:

SELECT path FROM items WHERE id = 17

现在在表items中还有一个列count,我希望每次执行上述查询时都会增加。

这样做的最佳方式是什么?

3 个答案:

答案 0 :(得分:4)

在同一查询中无法做到这一点。

您可以这样做:

START TRANSACTION;
UPDATE ....
SELECT ....
COMMIT;

答案 1 :(得分:1)

您需要创建存储过程,然后使用

创建原子事务
START TRANSACTION;
UPDATE items set count = (SELECT MAX(count)+1 from items);
SELECT path FROM items WHERE id = 17;
COMMIT;

答案 2 :(得分:0)

尝试将更新和select组合成一个调用,应该返回SELECT的响应

UPDATE items SET count = count + 1; SELECT path FROM items WHERE id = 17