我有一个表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