lighting 数据导入报错

【 TiDB 使用环境】生产环境
【 TiDB 版本】
数据库版本 5.4.x
lighting 版本 5.4.x
【复现路径】
向 MySQL 5.6 导入数据报错,目标端数据表已经创建成功,手动创建表也没问题

Error: fetch table columns failed: Error 1054: Unknown column ‘generation_expression’ in ‘field list’
tidb lightning encountered error: fetch table columns failed: Error 1054: Unknown column ‘generation_expression’ in ‘field list’

目标端表结构发下。目标端是5.6吧 ??

您在提取一条 ligthing的 SQL 文件的 SQL 发出来。看下

表结构

CREATE TABLE `t1` (
  `ID` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `advertiserid` int(10) DEFAULT NULL COMMENT '',
  `disabled` tinyint(1) DEFAULT '0' COMMENT '',
  `startdate` date DEFAULT NULL COMMENT '',
  `enddate` date DEFAULT NULL COMMENT '',
  `type` varchar(255) DEFAULT NULL COMMENT '',
  `typevlaue` float DEFAULT NULL COMMENT '',
  `camnumber` varchar(100) DEFAULT NULL COMMENT '',
  `memo` varchar(255) DEFAULT NULL COMMENT '',
  `approveflag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '',
  `contractid` varchar(25) DEFAULT NULL COMMENT '',
  `contracttype` tinyint(1) NOT NULL DEFAULT '1' COMMENT '',
  `userid` int(11) NOT NULL DEFAULT '0' COMMENT '',
  `archive` tinyint(1) DEFAULT '0' COMMENT '',
  `createtime` datetime DEFAULT NULL COMMENT '',
  `status` tinyint(4) unsigned NOT NULL DEFAULT '1'  '',
  `budget` bigint(20) DEFAULT NULL COMMENT '',
  `budgetflag` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '',
  `starttime` time DEFAULT NULL COMMENT '',
  `endtime` time DEFAULT NULL COMMENT '',
  `level` int(10) DEFAULT NULL COMMENT '',
  `testflag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '',
  `importflag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '',
  `deleteflag` tinyint(1) DEFAULT '0' COMMENT '',
  `searchengine` int(10) DEFAULT NULL COMMENT '',
  `balancepoint` int(10) DEFAULT NULL COMMENT '',
  `balanceratio` float(10,4) DEFAULT NULL COMMENT '',
  `incomesource` tinyint(1) DEFAULT NULL COMMENT '',
  `balancetype` varchar(10) NOT NULL DEFAULT '0' COMMENT '',
  `last_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '',
  `last_modified_by` int(3) unsigned NOT NULL DEFAULT '0' COMMENT '',
  `revenueid` int(11) DEFAULT NULL,
  `equalbudgetflag` tinyint(1) NOT NULL DEFAULT '1' COMMENT '',
  `entity` varchar(50) NOT NULL COMMENT '',
  `publishertype` enum('network','exchange') NOT NULL DEFAULT 'network' COMMENT '',
  `displaytype` enum('pc_display','mobile_display','keyword_link','product_mapping','all_display','pc_native','pc_automatic','mix_display','encourage_display','cube_display','context_display','pc_mobile_mix_display','content_display','iaa_display') NOT NULL DEFAULT 'pc_display' COMMENT '',
  `budget_limited_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '',
  `urlparam` text DEFAULT NULL COMMENT '',
  `urlfrontparam` text DEFAULT NULL COMMENT '',
  `advanceflag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '',
  `qihu_campaignid` bigint(20) NOT NULL DEFAULT '0' COMMENT '',
  `ctime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '',
  `qihu_status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '',
  `price_rate` smallint(3) unsigned NOT NULL DEFAULT '100' COMMENT '',
  `status_consume` tinyint(1) NOT NULL DEFAULT '0' COMMENT '',
  `version_consume` bigint(20) NOT NULL DEFAULT '0' COMMENT '',
  `newflag` tinyint(1) DEFAULT '0' COMMENT '',
  `cpt_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '',
  `ocpc_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '',
  `price` int(10) NOT NULL DEFAULT '0' COMMENT '',
  `show_budget` bigint(20) NOT NULL DEFAULT '0' COMMENT '',
  `show_budget_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '',
  `ocpc_url` varchar(5000) NOT NULL DEFAULT '' COMMENT '',
  `budget_mtime` datetime NOT NULL DEFAULT '2000-01-01 00:00:00' COMMENT '',
  `order_type` tinyint(4) NOT NULL DEFAULT '-1' COMMENT '',
  `is_offline_screen` tinyint(4) NOT NULL DEFAULT '0' COMMENT '',
  `mobile_native` tinyint(1) NOT NULL DEFAULT '0' COMMENT '',
  `offline_budget` bigint(20) NOT NULL DEFAULT '0' COMMENT '',
  `offline_budgetflag` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '',
  `weekly_budget` bigint(20) NOT NULL DEFAULT '0' COMMENT '',
  `budget_limited_alert` tinyint(4) NOT NULL DEFAULT '0' COMMENT '',
  `order_source` tinyint(4) NOT NULL DEFAULT '0' COMMENT '',
  `business_type_id` int(11) NOT NULL DEFAULT '0' COMMENT '',
  `bid_policy` tinyint(1) NOT NULL DEFAULT '0' COMMENT '',
  `accelerate_consume_flag` tinyint(4) unsigned NOT NULL DEFAULT '0' COMMENT '',
  PRIMARY KEY (`ID`) /*T![clustered_index] CLUSTERED */,
  KEY `advertiserid` (`advertiserid`),
  KEY `userid` (`userid`),
  KEY `qihu_campaignid` (`qihu_campaignid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1

SQL语句

INSERT INTO `t1` VALUES
(2330792,'信息流-关键词',560607,1,'2018-06-26','2030-12-31',NULL,NULL,NULL,NULL,0,NULL,1,866682,0,'2018-06-26 13:10:06',1,10000,0,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,NULL,'0','2022-11-16 22:47:48',0,NULL,1,'galileo','exchange','pc_native','0000-00-00 00:00:00',NULL,NULL,0,0,'0000-00-00 00:00:00',1,100,1,0,1,0,0,0,0,0,'','2018-06-26 13:10:06',-1,0,0,0,0,0,0,0,0,0,0);

补充下:导出是使用的 dumpling 工具 ,版本也是 5.4.x 的

根本没有 generation_expression 列。 是不是函数列? 或者什么列
您把 源端表 表结构发出来看下

image
这个SQL mode可能会报错

这个表我向其他tidb集群里导入的时候没问题,单独向 MySQL 里出现了这个问题
sql mode 我再 lighting 里设置的是 sql-mode = “NO_ENGINE_SUBSTITUTION”

感觉是兼容性的问题,在lighting 导入数据时,需要往 information_schema.COLUMNS 里更新数据,而 MySQL 5.6 没有 generation_expression 这一列,所以报错

lighting本来就是向tidb集群导入数据的工具啊,向mysql导入数据,可以用load file方式

嗯,逻辑导入了,看来不能这么玩儿