|
报错类型: message: "SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'mtype' at row 2562
报错表象: 本地不报错,本地为phpstudy 集成 ; 服务器报错, 服务器为ningx 、linux ;
表象原因: 商标字段 有一个 mtype 这个字段 商标局很搞笑的 来了个 1705、1706
处理方法:
- // 分批次批量导入
- foreach ($t as $v) {
- // 因为商标局比较坑,部分mtype 的 值 一栏是两个, 所以需要重新处理
- foreach($v as $key => $vvv)
- {
- // 如果出现这种情况,依 、 拆分 为数组 ,在制造多个相同的数组 还回去
- if( strlen( $vvv['mtype']) > 10)
- {
- // 从原数组中删除、否则会出现 报错 或者 三个 之类
- unset($v[$key]);
- // 将这个字符串分割为数组 [这个符号是中文的顿号 ]
- $tmdsbj = explode("、",$vvv['mtype']);
- // 循环创建新玩意
- foreach( $tmdsbj as $tmdsbv )
- {
- $mppp = array(
- 'ctype' => $vvv['ctype'],
- 'mtype' => $tmdsbv,
- 'xtype' => $vvv['xtype'],
- 'spfw' => $vvv['spfw'],
- 'datatype' => $vvv['datatype'],
- 'wu' => $vvv['wu']
- );
- // 添加进去
- $v[] = $mppp;
- }
- }
- }
- DB::table($xlistName)->insert($v);
- }
- $timeUsage = now()->diffInSeconds($start); //判断所用时间
复制代码
|
|