首页 > 解决方案 > 无法通过 Laravel 插入多个 INSERT 查询

问题描述

我有简单的多重插入:

$query = "
INSERT INTO `products` SET `code` = '0100130', `price` = '273.90', `brand` = 'Alpina', `supplier` = 'karat';
INSERT INTO `products` SET `code` = '0600075', `price` = '222.24', `brand` = 'Alpina', `supplier` = 'karat';
";

我已经尝试过DB::raw($query),,DB::query($query)-DB::statement($query)所有三个都失败了。但是如果只有一个 INSERT 语句,这三个都可以工作。如果不止一个,我不会收到错误,但不会执行插入。

我正在寻找一种最快的方式来导入 1300 万个插入。服务器一一插入需要24小时。

Laravel v7.12.0

标签: laravel

解决方案


试试这样:

$query = "
    INSERT INTO products(code, price, brand, supplier) VALUES
    (0100130, 273.90, 'Alpina', 'karat'),
    (0100130, 273.90, 'Alpina', 'karat')
";

您不能在一个 sql 查询中执行两个(或更多) INSERT INTO 。


推荐阅读