簡體   English   中英

MySQL選擇沒有主ID或日期字段的最后插入記錄

[英]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有更優雅的方法嗎?

沒有唯一的方法來識別行(例如iddate ),無法獲取最后插入的記錄,因為您的索引將根據您擁有的任何主鍵進行排序(在這種情況下假設為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM