2011-07-11 28 views
0

我剛從我的mysql表中刪除了一行。Mysql語句在表格底部插入行而不是最後一行被刪除的位置?

現在無論何時寫入語句「INSERT INTO myTable」,都會在最後一行被刪除的表格中添加一行。

如何修改「INSERT INTO myTable」語句,以便將行添加到表的底部?

編輯:

爲了澄清這是我用來打印的東西在數據庫

$result = mysql_query("SELECT * FROM People") 
or die(mysql_error()); 

echo "<table border='1'>"; 
echo "<tr><th>FirstName</th> <th>LastName</th></tr>"; 

while($row = mysql_fetch_array($result)) { 
    // Print out the contents of each row into a table 
    echo "<tr><td>"; 
    echo $row['FirstName']; 
    echo "</td><td>"; 
    echo $row['LastName']; 
    echo "</td></tr>"; 
} 
echo "</table>"; 

的PHP代碼和它的打印最後一行我在表的中間添加在同一我刪除的最後一行的位置。

+4

我不明白這個問題。 SQL自然不知道任何排序,所以沒有頂部或底部的行 – knittl

+1

@ knittl是正確的。 @LedZeppelin:你爲什麼認爲行被添加到表中最後一行被刪除的位置?您是否使用外部工具讀取磁盤以查找磁盤/文件中該行已保存的實際位置? –

回答

4

這實際上取決於存儲引擎和主鍵。但最好不要依賴數據的物理順序,但在查詢中指定ORDER BY

4

我只能假定您指的是在沒有ORDER BY的SELECT中返回的記錄的排序。你不應該依賴這個命令。不同的RDBMS,甚至不同的MySQL版本或配置可能會有不同的表現。

如果您還沒有單調的東西,請添加序列中的ID並選擇該字段排序的記錄。

相關問題