Laravel多个插入无法正常工作时显示“插入值列表不匹配”

时间:2019-02-25 10:40:43

标签: php laravel eloquent

我有一个列表,其中哪个字段是通过导入xlxs动态获取的。我已经生成了一个数组列表。只有xlxs文件有1条记录时才插入工作,但获取多行时则不起作用。

当数组多于1个时,它说:

  

SQLSTATE [21S01]:插入值列表与列列表不匹配:1136       列数与第2行的值数不符

然后输入SQL代码

我的数组列表如下:

Array(
 [0] => Array
    (
        [name] => Md. XXXX
        [email] => abc@gmail.com
        [mobile_no] => 1751017812
        [password] => $2y$10$vgmdsjT64aXHQcPA6vh8LuWfdWWA/NCtC8NLYTl8yyQ/wtXdcSNHy
        [user_type_id] => 1
        [designation] => Sr. Software Engineer
        [market_code] => mirpurA203
        [product_code] => Seclo201
        [territori_code] => T352
        [region_code] => Mirpur334
        [division_code] => Dhaka31
    )

 [1] => Array
    (
        [name] => Md. XX
        [email] => def@gmail.com
        [mobile_no] => 1761017812
        [password] => $2y$10$52CtpkGrKfriInOmnz.guOrIvnCJyxgYRbfEkDl6nFkPD2UYcvhiO
        [user_type_id] => 2
        [designation] => Sr. Software Engineer
        [territori_code] => T352
        [region_code] => Mirpur334
        [division_code] => Dhaka31
    )
)

我也尝试了雄辩的插入和DB插入,但是在只有一条记录的情况下仍然有效。

1 个答案:

答案 0 :(得分:0)

一次插入多个项目时,所有行都应具有相同的项目。这是因为MySQL期望这样做。插入查询指定要插入一次的列,并期望随后的所有数据与这些列匹配。

INSERT INTO `table` (`col_1`, `col_2`, `col_3`) VALUES (`val_11`, `val_12`, `val_13`), (`val_21`, `val_22`, `val_23`)

您的第二个对象丢失了market_codeproduct_code。将它们添加到每个记录中,或分别插入记录。