我创建了一个表并使用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;
请帮助我解决它。
答案 0 :(得分:-1)
这些天我在做同样的事情。 首先,除了具有日期时间功能外,我还使用时间戳作为数据类型,它具有许多可用的函数,例如字符串和时间戳数据类型。
我和您一样遇到了同样的问题,我所做的是更改了创建表的过程,我将使用任何Db工具(在我的情况下为SQLYog)单击ALTER表,然后删除0000-00-00 00:00: 00值,然后取消选中“非空”复选框。
这个简单的步骤之后,这个问题每次都会得到解决(只要我创建相同类型的表/列)。
希望这对您也有帮助,让我知道是否还有什么困扰您......