ホームページ > データベース > mysql チュートリアル > PHPを使用してMySQLの最終更新行のIDを取得するにはどうすればよいですか?

PHPを使用してMySQLの最終更新行のIDを取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-17 09:21:24
オリジナル
957 人が閲覧しました

How to Retrieve the ID of the Last Updated Row in MySQL using PHP?

PHP を使用して MySQL で最後に更新された行の ID を取得する

MySQL データベースで最後に更新された行の ID を検出することは、一般的なニーズです。

このタスクを達成する方法PHP:

PHP 経由で MySQL で変更された最後の行の ID を取得するには、提供されている PHP スクリプトを利用します:

<?php
// Establish database connection
$conn = new mysqli("host", "username", "password", "database_name");

// Prepare the MySQL UPDATE statement with an auto-incrementing variable
$sql = "SET @update_id := 0;
        UPDATE some_table SET column_name = 'value', id = (SELECT @update_id := id)
        WHERE some_other_column = 'value' LIMIT 1;";

if ($conn->query($sql) === TRUE) {
    // Get the last updated row's ID
    $result = $conn->query("SELECT @update_id;");
    $id = $result->fetch_assoc()["@update_id"];
    echo "Last updated row's ID: $id";
} else {
    echo "Error updating row: " . $conn->error;
}

$conn->close();
?>
ログイン後にコピー

追加の考慮事項:

  • 注意: このメソッドは注意して使用する必要があります特定の列を自動インクリメントする必要があるためです。
  • テクニックの拡張: CONCAT_WS 関数と同様のアプローチを使用して、影響を受けるすべての行 ID を取得するようにこれを変更できます。

たとえば、次のコードは、更新されたすべての行のカンマ区切りの文字列を返します。 ID:

SET @uids := null;
UPDATE footable
   SET foo = 'bar'
 WHERE fooid > 5
   AND ( SELECT @uids := CONCAT_WS(',', fooid, @uids) );
SELECT @uids;
ログイン後にコピー

以上がPHPを使用してMySQLの最終更新行のIDを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート