gpt4 book ai didi

php - 我可以更新 INT 值 + 1 并返回新值吗?

转载 作者:可可西里 更新时间:2023-11-01 07:00:47 26 4
gpt4 key购买 nike

是否可以在 MySQL+PHP 中增加一个 INT 值并在一个查询中返回新值?

$sql = mysql_query("UPDATE table SET number=number+1 WHERE id='uniqid'");

$updated_number = ???

或者我需要发布另一个查询?

SELECT number FROM table WHERE id='uniqid'

最佳答案

简单的回答 - 不,这是不可能的。

更长的答案,是的,如果您使用一个存储过程来增加指定 ID 的值,检索新值并返回它。

我刚刚在 MySQL 5.1.59 下测试了这个:

CREATE PROCEDURE increment (IN uniqid VARCHAR(255))
BEGIN
UPDATE `table` SET number = number + 1 WHERE id = uniqid;
SELECT number FROM `table` WHERE id = uniqid;
END

用法:

CALL increment(uniqid)

如果可以同时进行多个访问,您可能希望首先LOCK 表以确保操作的原子性——MySQL 显然不允许存储过程自己锁定表。

关于php - 我可以更新 INT 值 + 1 并返回新值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8231766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com