現在、私はプロジェクトに取り組んでいます。最後に更新されたIDを見つける必要がありました。mysqlで最後に更新された行IDを取得するにはどうすればよいですか?誰か助けてください?
19870 次
2 に答える
5
新しいAUTO_INCREMENT
値が生成されたら、SELECT LAST_INSERT_ID()
ステートメントを実行し、ステートメントmysql_query()
によって返された結果セットから値を取得することによって、値を取得することもできます。
の場合LAST_INSERT_ID()
、最後に生成された ID が接続ごとにサーバーに保持されます。別のクライアントによって変更されることはありません。AUTO_INCREMENT
非マジック値 (つまり、NULL でも 0でもない値) で別の列を更新しても、値は変更されません。複数のクライアントから同時に列を使用することは完全に有効LAST_INSERT_ID()
です。AUTO_INCREMENT
各クライアントは、クライアントが最後に実行したステートメントの最後に挿入された ID を受け取ります。
于 2013-03-19T05:37:09.753 に答える
2
まず、テーブルを編集して、行が変更されるたびに自動的に追跡されるようにします。行が最初に挿入されたのはいつかだけを知りたい場合は、最後の行を削除してください。
ALTER TABLE mytable
ADD lastmodified TIMESTAMP
DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP;
次に、最後に更新された行を見つけるために、このコードを使用できます。
SELECT id FROM mytable ORDER BY lastmodified DESC LIMIT 1;
于 2013-03-19T05:39:05.720 に答える