在SQL(MySQL)中,是否有一种方法可以在单个查询中增加值并返回该值。我正在尝试避免执行以下两个查询:
查询1
UPDATE my_table SET my_col = (my_col + 1) WHERE something = something_else;
查询2
SELECT my_col FROM my_table WHERE something = something_else;
谢谢。
在SQL(MySQL)中,是否有一种方法可以在单个查询中增加值并返回该值。我正在尝试避免执行以下两个查询:
查询1
UPDATE my_table SET my_col = (my_col + 1) WHERE something = something_else;
查询2
SELECT my_col FROM my_table WHERE something = something_else;
我不知道你在使用哪种脚本语言,但这里有一个在MySQL中创建存储过程的示例,它返回更新后的值,因此您可以在一次操作中进行更新和选择:
无法同时进行选择和更新。 如果要避免选择,可以声明一个变量并将值放在那里,但这会将最后更新的行值放入变量中。
declare @value int
UPDATE my_table SET my_col = (my_col + 1), @value = (my_col + 1) WHERE something = something_else;