[英]MySQL Select last inserted records without primary ID or date field
我有一個包含以下字段的MySQL表:
Email, Flag1, Flag2
問題:我有什么方法可以選擇獲取最后100個插入的字段嗎?
據我所知,通過在表格的末尾添加簡單的“插入”的新記錄來填充表格。
我知道如何在PHP + MySQL中做到這一點(非常丑陋的方式: SELECT ALL RECORDS , 在php循環中為每個記錄分配自動增量ID,並獲取最后100條記錄。 )
使用純MySQL有更優雅的方法嗎?
沒有唯一的方法來識別行(例如id
或date
),無法獲取最后插入的記錄,因為您的索引將根據您擁有的任何主鍵進行排序(在這種情況下假設為Email
)。
這是不可能的,因為如果你沒有設置一個帶有時間戳或自動增量的字段,系統將如何知道最后插入的? 所以你有2個簡單的選擇。
創建一個時間戳字段:當你下訂單時,只需按時間段select * from yourtamble order by timefield desc limit 100
使用自動增量創建一個ID。 關於這一點的好處是你可以擁有一個主鍵,並且知道列表插入的確切順序,這是一件壞事,就是你需要另一個字段時間來知道插入數據的時間。 作為時間戳解決方案,您可以select * from yourtamble order by id desc limit 100
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.