Mysql Createdatetime列正在填充为0000-00-00
我创建了一个表,并使用python代码从csv文件在表中插入值。createdatetime和updatedatetime列设置为默认的当前时间戳。但是,当我填充数据时,updatedatetime填充的是正确的值,而createdatetime填充的是0000-00-00:00:00 以下是我的表定义:Mysql Createdatetime列正在填充为0000-00-00,mysql,Mysql,我创建了一个表,并使用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` varcha
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;
请帮我解决这个问题。这些天我都在做同样的事情。 首先,我使用timestamp作为数据类型,因为除了具有datetime功能外,它还有许多可用的函数作为字符串以及timestamp数据类型 我遇到了与您相同的问题,我所做的是更改创建的表,我会使用任何Db工具(在我的例子中是SQLYog)单击alter table,然后删除0000-00-00:00:00值并取消选中NOTNULL复选框 每次(每当我创建相同类型的表/列时)在这个简单的一步之后,这个问题都会得到解决
希望这对你也有帮助,如果还有什么事困扰你,请告诉我分享你的样本程序和CSV的样本数据,以检查实际问题,而不是解决你的问题,但你可能想考虑查看你的标识符命名。您的字段一半是CamelCase,一半是小写的。我想用这段代码做的就是修复它(并使用
DATETIME notnull DEFAULT GetDate()
而不是timestamp)。这个简单的步骤对我来说非常有用,因为我只需要做一次。