私は基本的に「目標」バーを作ろうとしています。目標は、MySQL テーブルで作成した最後のエントリを取得することによって決定されます。したがって、最後のエントリのIDを取得したい。
テーブルの最後のエントリを取得し、その最後のエントリから ID を取得するにはどうすればよいですか?
(PHPを使用)
最大の ID を取得するには:
SELECT MAX(id) FROM mytable
次に、行を取得します。
SELECT * FROM mytable WHERE id = ???
または、1 つのクエリですべてを実行できます。
SELECT * FROM mytable ORDER BY id DESC LIMIT 1
機能を使用できLAST_INSERT_ID()
ます。例:
$sql = "SELECT * FROM mytable WHERE id = LAST_INSERT_ID()";
このクエリを使用して、この例で使用されているように、この sql クエリで必要な結果を取得できます。
$sql = "SELECT user_id FROM my_users_table ORDER BY user_id DESC LIMIT 0,1";
これを確実に行うには、テーブル内に、どれが最後かを調べるために調べられるフィールドが必要です。これは、レコードを追加したときのタイム スタンプ、継続的に増加するシーケンス番号 (特に自動インクリメント シーケンス番号) などです。
では、「rec_seq」というシーケンス番号だとしましょう。次のように書きます。
select * from my_table
where rec_seq=(select max(rec_seq) from my_table)
フィールドが自動インクリメントされている場合は、 LAST_INSERT_IDを使用できます
テーブルからすべてのフィールドを逆の順序で選択し、制限0,1を設定しますこれにより、テーブルフィールドデータの最後の結果が得られます
ユーザーの最新エントリを取得する
'SELECT user_id FROM table_name WHERE user_id = '.$userid.' ORDER BY user_id DESC LIMIT 1';