INSERT ... ON DUPLICATE KEY UPDATE插入错误的顺序

时间:2012-12-25 00:16:41

标签: php sql

我正在尝试插入和更新数据。问题是它没有按照我的想法插入。

foreach($urls as $key => $value)
    {
        $mysqli->query("INSERT INTO urls (url_id,parent_id,url) VALUES ('$key','$parent_id','$value') ON DUPLICATE KEY UPDATE url = '$value'");
    }   

表格应如下所示:

url_id   |   parent_id   |   url
1        |   1           |   http://cnn.com
2        |   1           |   http://msn.com
3        |   1           |   http://amazon.com

最终看起来像:

url_id   |   parent_id   |   url
1        |   1           |   http://cnn.com
3        |   1           |   http://amazon.com
2        |   1           |   http://msn.com

如果插入了另一行,它将在上面:

3        |   1           |   http://amazon.com

我理解SQL没有订单,但为什么查询会以这种方式插入。

1 个答案:

答案 0 :(得分:2)

MySQL表中没有固有的顺序。从中选择时使用ORDER BY url_id