MySql Bulk(ish)插入

时间:2014-03-20 16:47:41

标签: php mysql sql

我正在尝试使用以下查询执行“批量”插入:

INSERT INTO `order_status_histories` VALUES ('3602','52efabe9-5f8c-4512-a994-3227c63dd20e','1','','Order recieved','2014-02-03 16:47:05','2014-02-03 16:47:05'),('3603','52eff713-54fc-4be0-9389-68d5c63dd20e','1','','Order recieved','2014-02-03 22:07:47','2014-02-03 22:07:47'),('3604','52effd1a-bc14-4095-97fd-6d46c63dd20e','1','','Order recieved','2014-02-03 22:33:30','2014-02-03 22:33:30')

但是,它失败了,因为表中的第一列是recordID,并且在insert语句中不存在。

如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

使用时

INSERT INTO `order_status_histories` VALUES (....)

您需要以正确的顺序传递表结构所需的每个值。如果值在表结构中具有默认值,则可以省略值中的字段。

大多数情况下,最好明确列出要插入的字段 - 如果没有别的话,这意味着如果表结构发生更改,则不需要重新编写SQL语句。尝试更改SQL语句,使其结构为:

INSERT INTO `order_status_histories` (field1, field2, ....) VALUES ('value1', 'value2', ....)