首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL导入CSV (行导入失败,错误:(“不正确的日期时间值:'‘为列'Escalation_date’在第1行”,1292)

MySQL导入CSV (行导入失败,错误:(“不正确的日期时间值:'‘为列'Escalation_date’在第1行”,1292)
EN

Stack Overflow用户
提问于 2020-04-26 17:25:53
回答 1查看 2.2K关注 0票数 1

为了模拟从CSV导入MySQL表,我从表中导出了一些行。行是这样的:

代码语言:javascript
复制
Number;Opened;Opened by;Source;Caller;Location;Category;Subcategory;Priority;Incident state;On hold reason;Assignment group;Support vendor name;ID vendor ticket;Escalation date;Parent Incident;Problem;Resolved;Resolved by;Closed;Closure CI;CI Closure Code;Sub CI;Sub Closure CI;Resolve time;Duration
INC0028837;2019-01-02 07:01:35;User1;Portal;User2;Location1;Category1;Sub_Cat1;3 - Moderate;Closed;;Assignment1;;;;;;2019-01-02 09:43;Resolved1;2019-01-05 10:00:00;;;;;9742;9742

我创建了一些存储过程,在调用时将更新最后一列。我的DB结构如下:

代码语言:javascript
复制
CREATE TABLE `incident_raw_data` (
  `Number` varchar(12) NOT NULL,
  `Opened` datetime DEFAULT NULL,
  `Opened_by` varchar(45) DEFAULT NULL,
  `Source` varchar(12) DEFAULT NULL,
  `Caller` varchar(25) DEFAULT NULL,
  `Location` varchar(25) DEFAULT NULL,
  `Category` varchar(45) DEFAULT NULL,
  `Subcategory` varchar(25) DEFAULT NULL,
  `Priority` varchar(12) DEFAULT NULL,
  `Incident_state` varchar(12) DEFAULT NULL,
  `On_hold_reason` varchar(255) DEFAULT NULL,
  `Assignment_group` varchar(45) DEFAULT NULL,
  `Support_vendor_name` varchar(5) DEFAULT NULL,
  `ID_vendor_ticket` varchar(25) DEFAULT NULL,
  `Escalation_date` datetime DEFAULT NULL,
  `Parent_Incident` varchar(12) DEFAULT NULL,
  `Problem` varchar(255) DEFAULT NULL,
  `Resolved` datetime DEFAULT NULL,
  `Resolved_by` varchar(45) DEFAULT NULL,
  `Closed` datetime DEFAULT NULL,
  `Closure_CI` varchar(45) DEFAULT NULL,
  `CI_Closure_Code` varchar(5) DEFAULT NULL,
  `Sub_CI` varchar(12) DEFAULT NULL,
  `Sub_Closure_CI` varchar(255) DEFAULT NULL,
  `Resolve_time` int(11) NOT NULL,
  `Duration` int(11) NOT NULL,
  `Opened_weekeday` int(11) NOT NULL,
  `Resolved_weekeday` int(11) NOT NULL,
  `Closed_weekday` int(11) NOT NULL,
  `Opened_hour` int(11) NOT NULL,
  `Aging` int(11) NOT NULL,
  `Gruppo_creatore` varchar(12) DEFAULT NULL,
  `Gruppo_risolutore` varchar(12) DEFAULT NULL,
  `Check_SSG/SSG` tinyint(1) DEFAULT NULL,
  `Aging_<5` tinyint(1) DEFAULT NULL,
  `Aging_hh` double DEFAULT NULL,
  PRIMARY KEY (`Number`),
  KEY `Resolve_time_index` (`Resolve_time`),
  KEY `Duration_index` (`Duration`),
  KEY `Opened_weekeday_index` (`Opened_weekeday`),
  KEY `Resolved_weekeday_index` (`Resolved_weekeday`),
  KEY `Closed_weekday_index` (`Closed_weekday`),
  KEY `Opened_hour_index` (`Opened_hour`),
  KEY `Aging_index` (`Aging`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

表B具有相同的结构,以便不篡改原始数据并执行某些测试。当我使用来自Workbech的导入向导时,一切都是正确的,除了在字段Escalation_date中有一个空值时,向导告诉我:

(行导入失败,错误:(“不正确的日期时间值:'‘为列'Escalation_date’在第1行”,1292)

我已经禁用了STRICT_MODE (全局和会话(SET @@global.sql_mode = '';)),但导入仍然失败。我还尝试修改csv,将“0000-00-00:00:00:00”放在相应的列中,但我得到了相同的错误。因此,我无法理解导入这个csv文件的正确方法。我哪里错了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-28 17:23:18

我遇到了类似的问题,发现MySQL DATETIME字段特别不喜欢CSV空值。最后,我在CSV文件中用,NULL,替换了,NULL,,从而解决了这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61445046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档