0

私が達成しようとしているのは、mysql の選択クエリの結果に基づいてデータベースの列を更新することです。

例えば:

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 になります。しかし、「値」列の値を取得し、それを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 に答える