我正在尝试插入和更新数据。问题是它没有按照我的想法插入。
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没有订单,但为什么查询会以这种方式插入。
答案 0 :(得分:2)
MySQL表中没有固有的顺序。从中选择时使用ORDER BY url_id
。