Mysql语句在表的底部插入行而不是删除最后一行的位置?

时间:2011-07-11 10:19:09

标签: mysql sql

我刚从mysql表中删除了一行。

现在每当我写“INSERT INTO myTable”语句时,会在表格中删除最后一行的位置添加一个新行。

如何修改“INSERT INTO myTable”语句,以便将行添加到表格的底部?

编辑:

为了澄清这是我用来打印数据库中的东西的PHP代码

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

它打印了我在表格中间添加的最后一行,在我删除的最后一行的相同位置。

2 个答案:

答案 0 :(得分:4)

这实际上取决于存储引擎和主键。但最好不要依赖数据的物理顺序,而是在查询中指定ORDER BY

答案 1 :(得分:4)

我只能假设你指的是没有ORDER BY的SELECT中返回的记录顺序。你根本不应该依赖这个订单。不同的RDBMS,甚至MySQL的不同版本或配置可能表现不同。

如果您还没有单调的东西,请从序列中添加ID并选择该字段排序的记录。