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