我有一個表message_pool
,它只有一個屬性message
。例如:刪除第一行並添加元素到最後一行iny MySQL
hello 1
hello 2
hello 3
我想刪除第一行和添加myValue
到最後一行。我基本上有兩個疑問。
$query_one = "DELETE FROM message_pool LIMIT 1";
$query_two = "INSERT INTO message_pool VALUES ('$myValue');"
如果我只運行$query_one
這樣的結果發生了:
hello 2
hello 3
如果我只運行$query_two
這個結果發生了:
hello 1
hello 2
hello 3
myValue
ODLY!如果我先運行$query_one
然後$query_two
這個結果發生了:
myValue
hello 2
hello 3
但我想這個結果得到的。
hello 2
hello 3
myValue
爲什麼它把myValue
第一行,但是當我運行第二個查詢獨立位置它把myValue
到最後一排?
這是一個非常簡單的問題嗎? – orkun
除非您指定ORDER BY表達式,否則不會得到一致的結果。 SQL表通常是無序的。 –
這個問題可以通過每次插入時插入時間戳來解決。有很多方法就像你可以得到最後插入的id(唯一的主鍵),然後將其加1,並將該記錄與id一起插入。每次刪除並插入。但插入時確保你從數據庫中獲得最後插入的ID。 – webDev