簡體   English   中英

獲取 MySQL 表中的最后一個條目

[英]Get Last Entry in a MySQL table

我基本上是在嘗試制作一個“目標”欄。 目標是通過獲取我在 MySQL 表中所做的最后一個條目來確定的。 因此,我想獲取最后一個條目的 ID。

如何獲取表中的最后一個條目,然后從最后一個條目中獲取 id?

(使用 PHP)

獲得最大的身份:

SELECT MAX(id) FROM mytable

然后得到行:

SELECT * FROM mytable WHERE id = ???

或者,您可以在一個查詢中完成所有操作:

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";

如果該字段是自動遞增的,那么您可以使用LAST_INSERT_ID

要可靠地執行此操作,您必須在表中包含一些字段,以便確定哪個字段是最后一個。 這可以是添加記錄時的時間戳,不斷增加的序列號(尤其是自動遞增序列號)等。

然后,讓我們假設它是一個名為“rec_seq”的序列號。 你會寫一些類似的東西:

select * from my_table
where rec_seq=(select max(rec_seq) from my_table)

以相反的順序從表中選擇所有字段並設置限制0,1這將為您提供表字段數據的最后結果

獲取用戶的最新條目

'SELECT user_id FROM table_name WHERE user_id = '.$userid.' ORDER BY user_id DESC LIMIT 1';

上面的答案顯示了如何通過 id 獲取最新條目。 如果使用非遞增 ID(例如 UUID)作為鍵,這將不起作用。 在那種情況下,可以改用created_at列。

-- highest id
SELECT * FROM some_table ORDER BY id DESC LIMIT 1;

-- latest created at date
SELECT * FROM some_table ORDER BY created_at DESC LIMIT 1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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