1

我正在尝试在我的 MySQL 数据库中插入大量行。我有一个这样的查询,但其中有大约 700 个重复条目,但由于某种原因,该查询仅将第一行插入数据库。在这种情况下,它将是“374”、“4957”、“0”。

INSERT INTO table VALUES ('374','4957','0'),('374','3834','0'),('374','4958','0'),('374','5076','0'),('374','4921','0'),('374','3835','0'),('374','4922','0'),('374','3836','0'),('374','3837','0'),('374','4879','0'),('374','3838','0')

我无法弄清楚我做错了什么。

先感谢您。

4

3 回答 3

4

并不是说显而易见,但如果第一个字段“374”是您的主键字段,那么这就是问题所在。

否则,是否从数据库收到任何错误消息?那总是寻找错误的好地方。

于 2012-10-27T18:35:55.370 回答
1

为了更好地理解为什么某些东西下次不工作,请使用如下代码:

$sql = "INSERT INTO table VALUES ('374','4957','0'),('374','3834','0')";
if (!mysqli_query($link, $sql)) {
    printf("Errormessage: %s\n", mysqli_error($link));
}

那应该显示从 MySQL 返回的错误消息。

更多信息:PHP 手册 - mysqli_error

于 2012-10-27T18:55:15.307 回答
0

尝试在值之前写列名。例如: INSERT INTO table (column1,column2,column3) VALUES ...

于 2012-10-27T18:36:05.177 回答