将select语句的值设置为变量并在更新查询mysql中使用

时间:2013-09-23 20:23:06

标签: mysql select sql-update

我想要实现的是根据mysql中的select查询结果更新数据库中的列。

例如:

SELECT id, value, t_stamp FROM table_name ORDER BY id DESC Limit 1

那么SELECT语句的值就是

id    value    t_stamp

1      apple    2013-01-01

2      dog      2013-01-01

那么SELECT的值将从2开始。但我想得到'value'列的值,并将其用作UPDATE的参数

UPDATE table_name SET newvalue = value_from_select

那么newvalue的值就是狗。

我如何在Mysql中执行此操作?

1 个答案:

答案 0 :(得分:0)

这是你在找什么?

select id,@b:=value,t_stamp from table_name ORDER BY id DESC Limit 1;

UPDATE table_name SET value = @b where id=2;

您可以使用@var:=运算符将检索到的数据存储在用户定义的变量中,该变量稍后可以在更新查询中替换,如上所示。 您还可以在检索数据之前使用SET @a = 0或0.0或''来定义其类型,以避免混淆。