MySQL 日期默认值的问题

来源:互联网 发布:淘宝申请介入流程 编辑:程序博客网 时间:2024/06/07 06:07

MySQL日期使用默认值的问题

今天突然遇到这么一个情况,在使用log4j进行日志记录的时候,需要一张日志表,log4j的配置如下:

log4j.appender.DATABASE = org.apache.log4j.jdbc.JDBCAppenderlog4j.appender.DATABASE.Threshold = DEBUGlog4j.appender.DATABASE.URL = jdbc:mysql://localhost:3306/system-logslog4j.appender.DATABASE.driver = com.mysql.jdbc.Driverlog4j.appender.DATABASE.user = rootlog4j.appender.DATABASE.password = rootlog4j.appender.DATABASE.sql = INSERT INTO logs (contents) VALUES (' %d - %c %-5p %c %x - %m%n ')log4j.appender.DATABASE.layout = org.apache.log4j.PatternLayoutlog4j.appender.DATABASE.layout.ConversionPattern =%d - %c -%-4r [%t] %-5p %c %x - %m %n

这里需要一个system-logs数据库,需要一张logs表,logs表中至少需要一个contents字段。为了方便查看日志,我想在表中加入一个主键,使用MySQL的主键自增。创建表的代码如下:

CREATE TABLE logs(    id BIGINT PRIMARY KEY AUTO_INCREMENT,    insert_date DATETIME DEFAULT NOW(),    contents VARCHAR(50000));

出现如下错误:
1 queries executed, 0 success, 1 errors, 0 warnings

查询:create table logss(id bigint primary key auto_increment,insert_date datetime default now(),contents varchar(50000))

错误代码: 1067
Invalid default value for ‘insert_date’

执行耗时 : 0 sec
传送时间 : 0 sec
总耗时 : 0 sec

网上查了很多资料,最终得知,datetime或者date类型是接收不了now()方法的返回值的。需要使用timestamp类型

0 0
原创粉丝点击