Createdatetime列填充为0000-00-00

时间:2018-09-26 17:06:11

标签: mysql

我创建了一个表并使用python代码从csv文件中的表中插入值。createdatetime和updatedatetime列设置为默认的CURRENT_TIMESTAMP。但是当我填充数据时updateatetime会填充正确的值,但createdatetime是填充为0000-00-00 00:00:00。

这是我的表定义:

CREATE TABLE `fico_details` (
  `adf_contact_id` varchar(100) NOT NULL,
  `sf_contact_id` varchar(100) DEFAULT NULL,
  `Name` varchar(100) NOT NULL,
  `BirthDate` date DEFAULT NULL,
  `Address1` varchar(100) DEFAULT NULL,
  `City` varchar(100) DEFAULT NULL,
  `State` varchar(2) DEFAULT NULL,
  `Zipcode` varchar(10) DEFAULT NULL,
  `SSN` varchar(10) DEFAULT NULL,
  `Address2` varchar(100) DEFAULT NULL,
  `City2` varchar(100) DEFAULT NULL,
  `State2` varchar(2) DEFAULT NULL,
  `Zipcode2` varchar(10) DEFAULT NULL,
  `Customerinput` varchar(10) DEFAULT NULL,
  `AddrDiscrepancyFlg` varchar(10) DEFAULT NULL,
  `Permid` varchar(10) DEFAULT NULL,
  `score_date` varchar(10) DEFAULT NULL,
  `reason_code_1` varchar(10) DEFAULT NULL,
  `reason_code_2` varchar(10) DEFAULT NULL,
  `reason_code_3` varchar(10) DEFAULT NULL,
  `reason_code_4` varchar(10) DEFAULT NULL,
  `CreateDateTime` TIMESTAMP not null DEFAULT CURRENT_TIMESTAMP,
  `UpdateDateTime` TIMESTAMP not null DEFAULT CURRENT_TIMESTAMP,
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`),
  KEY `SSN` (`SSN`)
) ENGINE=InnoDB AUTO_INCREMENT=876800 DEFAULT CHARSET=utf8;

请帮助我解决它。

1 个答案:

答案 0 :(得分:-1)

这些天我在做同样的事情。 首先,除了具有日期时间功能外,我还使用时间戳作为数据类型,它具有许多可用的函数,例如字符串和时间戳数据类型。

我和您一样遇到了同样的问题,我所做的是更改了创建表的过程,我将使用任何Db工具(在我的情况下为SQLYog)单击ALTER表,然后删除0000-00-00 00:00: 00值,然后取消选中“非空”复选框。

这个简单的步骤之后,这个问题每次都会得到解决(只要我创建相同类型的表/列)。

希望这对您也有帮助,让我知道是否还有什么困扰您......