mySQL だけを使用してこれに対するいくつかの回答を見つけましたが、PHP を使用して挿入/更新を処理するときに、mysql DB の最後に挿入または更新された行の ID を取得する方法を誰かが教えてくれることを望んでいました。
現在、私はこのようなものを持っています。ここで、column3 は一意のキーであり、自動インクリメントされた主キーである id 列もあります。
$query ="INSERT INTO TABLE (column1, column2, column3) VALUES (value1, value2, value3) ON DUPLICATE KEY UPDATE SET column1=value1, column2=value2, column3=value3";
mysql_query($query);
$my_id = mysql_insert_id();
$my_id は INSERT では正しいですが、行を更新しているとき (ON DUPLICATE KEY UPDATE) は正しくありません。
次のようなものを使用するようにアドバイスする人々の投稿をいくつか見ました
INSERT INTO table (a) VALUES (0) ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id)
ON DUPLICATE KEY が呼び出されたときに有効な ID 値を取得するには、有効な ID を PHPmysql_insert_id()
関数に返しますか?