SQL Update并在单个查询中选择

时间:2012-01-13 11:32:28

标签: mysql sql select

SQL(MySQL)中是否有一种方法可以递增值,还可以在单​​个查询中返回值。我试图卵形做两个查询,如下所示:

QUERY 1

UPDATE my_table SET my_col = (my_col + 1) WHERE something = something_else;

QUERY 2

SELECT my_col FROM my_table WHERE something = something_else;

感谢。

3 个答案:

答案 0 :(得分:2)

据我所知,在MySQL中仍然没有这种可能性,但请查看this question以获得可能的解决方法,至少可以让您在事务上使用相同的数据进行选择和更新。

答案 1 :(得分:0)

无法同时进行选择和更新。 如果你想避免选择你可以声明一个变量并将值放在那里,但这会将最后更新的行值放在变量中。

declare @value int

UPDATE my_table SET my_col = (my_col + 1), @value = (my_col + 1) WHERE something = something_else;

答案 2 :(得分:0)

我不知道您使用的是什么脚本语言,但这里是一个在MySQL中创建存储过程的示例,它返回更新的值,以便您可以在一个操作中进行更新和选择:

Get Updated Value in MySQL instead of affected rows