こんな問い合わせがあります
SET @update_id := 0;
UPDATE table SET column = something, id = (SELECT @update_id := id)
WHERE condition
LIMIT 1;
SELECT @update_id;
列を更新し、更新された行の ID を返すことになっています。ご覧のとおり、クエリを実行する前に行のIDがありません。
私はpdoを使用しています.phpでの値を取得する方法はあります@updated_id
か? を使用しようとすると
取得します。
また、phpMyadminで実行したため、クエリが正しいと確信しており、正しい値が返されたため、機能しています。phpMyadmin での結果は次のようになりました。 SQLSTATE[HY000]: General error
$stmt->fetchColumn();
| @updated_id |
|------------------|
| 32 |
IDが32の行の目的の列(条件があった)が更新されました。
何かご意見は?