3

現在、私はプロジェクトに取り組んでいます。最後に更新されたIDを見つける必要がありました。mysqlで最後に更新された行IDを取得するにはどうすればよいですか?誰か助けてください?

4

2 に答える 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 に答える