MySQL で最後に更新された行の ID を見つける
MySQL で最後に更新された行の ID へのアクセスは、簡潔なコードを使用して実現できます。
これを実現するには、次の SQL を実行します。 query:
SET @update_id := 0; UPDATE some_table SET column_name = 'value', id = (SELECT @update_id := id) WHERE some_other_column = 'blah' LIMIT 1; SELECT @update_id;
このクエリは、ユーザー変数 @update_id を 0 に設定し、その後 some_table テーブル内の対象の行を更新することでタスクを完了します。更新プロセス中に、変更される行の ID が @update_id に割り当てられます。最後に、最後の SELECT ステートメントを使用して変数の値が取得され、最後に更新された行の ID が提供されます。
手法の拡張
前述のアプローチは次のようになります。更新操作中に影響を受けるすべての行の ID を取得するように拡張されました:
SET @uids := null; UPDATE footable SET foo = 'bar' WHERE fooid > 5 AND ( SELECT @uids := CONCAT_WS(',', fooid, @uids) ); SELECT @uids;
この変更されたクエリは、連結して文字列を作成します。更新条件を満たすすべての行の ID をカンマで区切って指定します。このクエリを実行すると、更新されたすべての行の ID がカンマ区切りの文字列として返されます。
以上がMySQL で最後に更新された行の ID を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。