我正在尝试使用以下查询进行“批量”插入:
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 INTO `order_status_histories` VALUES (....)
您需要以正确的顺序传递表结构所需的每个值。如果字段在表结构中具有默认值,则可以省略值中的字段。
大多数时候,最好显式列出要插入的字段 - 如果不出意外,这意味着如果表结构发生更改,您将不需要重新编写 SQL 语句。尝试更改您的 SQL 语句,使其结构如下:
INSERT INTO `order_status_histories` (field1, field2, ....) VALUES ('value1', 'value2', ....)
关于php - MySql 批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22539765/