PHPを使用してMySQLのテーブルから最後のレコードを選択しようとしています。SQLエラーがあると思います。これが私のSQLコードです:
SELECT TOP 1 id FROM `table` ORDER BY id DESC
これが有効で、実際にPHPエラーが発生した場合は、教えてください。
無効なSQL構文があります。代わりにLIMITを使用してください
これを試して:
SELECT id
FROM table
ORDER BY id DESC
LIMIT 1
このTOP
句はMSSQLサーバーで機能します。
より単純でDBMSにとらわれないアプローチは次のようになります。
SELECT MAX(id) AS id
FROM table
これは、フィールドのみが必要な場合のみです。id
それ以外の場合、他の列をSELECTしようとすると、一致するデータがid
フィールドに返されないため、代わりに次を使用する必要があります。
SELECT id, otherfields, ..., ...
FROM table
WHERE id = (SELECT MAX(id) FROM table)
これは機能します制限を使用することを考えていない場合は、最後のレコードを見つけるために
SELECT TOP 1 * FROM Products ORDER BY id desc
これは機能します制限を使用する予定がない場合は、列名を指定する最後のレコードを検索します
SELECT TOP 1 id FROM Products ORDER BY id desc
そうしないと
SELECT * FROM Products ORDER BY id DESC LIMIT 1