私は現在この問題を抱えています。私は単一のSQLクエリで複数のレコードを更新したい。このポストにも私のテーブルのビジュアルが含まれています。複数のデータベースレコードを1つのクエリで更新する(条件付き更新クエリを使用)、列の値は同じでIDは異なる
これは、これは私の現在のSQLステートメントである
+----------+------------+------------+
| item_ID | meta_name | meta_value |
+----------+------------+------------+
| VwhDB0zs | item_price | 25.00 |
| tPmg309L | item_price | 25.00 |
+----------+------------+------------+
私のテーブルです:私は補完されている値と同じ値(ITEM_PRICE)を持つレコードを更新したい
UPDATE pt_item_meta
SET meta_value = CASE meta_name
WHEN 'item_price' THEN '251.00'
WHEN 'item_price' THEN '325.20'
ELSE meta_value END
WHERE item_ID IN('tPmg3O9L','VwhDBOzS')
それぞれのID。
しかし、この問合せは、meta_name = item_priceのすべてのレコードを251.00に更新します。
私の目標は次のとおりです。
- 251.00が
- 325.20はID VwhDB0zS
私は達成しなかったとのアイテムの新しいITEM_PRICEあるべきID tPmg309Lでアイテムの新しいITEM_PRICEする必要があります私の目標。だから私はこのクエリがこの特定の状況に対する解決策ではないという結論に達しました。
もっと良い解決策はありますか?事前に感謝:)