php - MySql 批量插入

标签 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 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/

相关文章:

php - 用空格填充字符串的其余部分

php - 使用 "PHP for Android"从 Android 设备执行 Apple 推送通知服务器 (PHP)

sql - PostgreSQL 自连接会忽略索引吗?

c# - 在 LINQ 中选择大小写

SQL查询获取类(class)学生总数

sql - 用户按周积分,而不是总积分

php - 动态更改每行数据的下拉列表的选定状态

PHP 命名空间错误(名称已被使用)

mysql - 从 LEFT OUTER JOIN 计算 NULL 值,这可能吗?

mysql - 如何获得在 mysql 中没有 child 的最终类别?