相关疑难解决方法(0)

获取MySQL中的更新值而不是受影响的行

我一直试图找到这个问题的答案,但在我的研究中没有找到任何明确的"是"或"否".

我正在运行这样一个简单的MySQL查询:

 UPDATE item SET `score`=`score`+1 WHERE `id`=1
Run Code Online (Sandbox Code Playgroud)

有没有办法让该查询返回更新的值,而不是受影响的行数?作为参考,我在PHP中这样做,所以实际代码如下:

 $sql = "UPDATE item SET `score`=`score`+1 WHERE `id`=1";
 $new_value = mysql_query($sql); 
 //Unfortunately this does not return the new value
Run Code Online (Sandbox Code Playgroud)

我知道我可以做第二个查询而只是选择值,但我试图尽可能减少查询.有办法吗?

php mysql

24
推荐指数
2
解决办法
2万
查看次数

MySQL删除会话变量

情况:MySQL查询使用从外部传递的值.这是通过声明和初始化会话变量来完成的,该会话变量在会话结束前一直有效:

SET @id = 0;

SELECT * FROM my_table
WHERE id = @id;
Run Code Online (Sandbox Code Playgroud)

问题:在查询完成后删除会话变量是一个好习惯(出于安全原因)?最合适的方法是什么?

研究:我发现了以下建议,但有一些疑问,因为它看起来像"uninitialise",而不是像"undeclare":

SET @id = NULL;
Run Code Online (Sandbox Code Playgroud)

mysql session-variables

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×2

php ×1

session-variables ×1