1

我正在尝试插入和更新数据。问题是它没有像我想象的那样插入。

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 没有订单,但为什么查询会以这种方式插入。

4

1 回答 1

2

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

于 2012-12-25T00:18:23.240 回答