0

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

例如:

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

那么 SELECT 语句 say 的值将是

id    value    t_stamp

1      apple    2013-01-01

2      dog      2013-01-01

那么 SELECT 的值将从 2 开始。但我想获取“值”列的值并将其用作 UPDATE 的参数

UPDATE table_name SET newvalue = value_from_select

那么新值的值将是狗。

我怎样才能在 Mysql 中做到这一点?

4

1 回答 1

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 或 '' 来定义其类型以避免混淆。

于 2013-09-23T20:48:18.043 回答