createdatetime列填充为0000-00-00

a0zr77ik  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(667)

我创建了一个表,并使用python代码从csv文件在表中插入值。createdatetime和updatedatetime列设置为默认的当前时间戳。但是,当我填充数据时,updatedatetime填充的是正确的值,但createdatetime填充的是0000-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;

请帮我解决这个问题。

afdcj2ne

afdcj2ne1#

这些天我在做同样的事情。首先,我使用timestamp作为数据类型,因为除了具有datetime功能外,它还有许多可用的函数作为字符串和timestamp数据类型。
我遇到了与您相同的问题,我所做的是更改表的创建,我会使用任何db工具(在我的例子中是sqlyog)单击altertable,然后删除0000-00-00:00:00值并取消选中notnull复选框。
在这个简单的步骤之后,每次(每当我创建相同类型的表/列时)这个问题都会得到解决。
希望这对你也有帮助,如果还有什么事困扰你,请告诉我。。。。!!

相关问题