列称为“jdate”被定义为“VARCHAR(19), 并插入行之前到称为表‘fatable’在mysql中,时间戳不是生成日期。为什么?
alter table fatable CHANGE jdate jdate TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP;
Then, inserting a row like:
insert into fatable (firstname,lastname, address, city, state, zip, phoneno, emailad, jdate, ddate, cstatus, investam, wamount, comments)
values('john','lee','10 rustling lane','bedford','ny','10506','9142347752','[email protected]', '','09262015','0','100','10','aa');
其结果是:
# id, firstname, lastname, address, city, state, zip, phoneno, emailad, timestamp, ddate, cstatus, investam, wamount, comments
'2015101', 'john', 'lee', '10 rustling lane', 'bedford', 'ny', '10506', '9142347752', '[email protected]', '0000-00-00 00:00:00', '09262015', '0', '100.00', '10.00', 'aa'
列“jdate”具有包含全零的mysql日期格式。没有显示当前日期。
您正在插入一个空字符串:'''',尝试插入:'now()' – alfasin
默认情况下,第一个时间戳列为零,您将更改'jdate',但尝试插入一个值在'timestamp'中,你也不是在你的select中查询那个列... – Aguardientico
另外,如果列允许NULL,mysql为列使用明确的DEFAULT NULL,尝试将alter table改为NOT NULL'而不是'NULL' https://dev.mysql.com/doc/refman/5.0/zh-CN/data-type-defaults.html – Aguardientico