周大胖子 发表于 2020-1-19 15:43:19

分类书更新维护- 字段值过长 2020-01-19

报错类型: message: "SQLSTATE: 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);       //判断所用时间


页: [1]
查看完整版本: 分类书更新维护- 字段值过长 2020-01-19