thinkphp3.2.3中addAll,如果数据有NULL则插入失败
问题发现过程是取出goods表里面的内容插入到goods_bak里面,两个表字段完全一样,结果发现报错提示:字段的个数不匹配
Insert value list does not match column list: 1136 Column count doesn't match value count at row 1
下面是sql代码:
$goods_arr=M('goods')->where(" basekeynum='$basekeynum' ")->select();
M('goods_bak')->addAll($goods_arr);
addAll批量插入数据,如果数据有空的,则会插入失败,错误是在 ThinkPHP/Library/Think/Db/Driver/Mysql.class.php第123行
is_scalar不会判断null给一个标量,会直接过滤掉,
建议:
改成is_scalar($val) || is_null($val)
加入空值判断
修改示例:
版权声明:若无特殊注明,本文皆为《菜鸟站长》原创,转载请保留文章出处。
本文链接:thinkphp3.2.3中addAll,如果数据有NULL则插入失败 - https://wlphp.com/?post=297