MySQL 日期默认值的问题

MySQL日期使用默认值的问题

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

log4j.appender.DATABASE = org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.Threshold = DEBUG
log4j.appender.DATABASE.URL = jdbc:mysql://localhost:3306/system-logs
log4j.appender.DATABASE.driver = com.mysql.jdbc.Driver
log4j.appender.DATABASE.user = root
log4j.appender.DATABASE.password = root
log4j.appender.DATABASE.sql = INSERT INTO logs (contents) VALUES (' %d - %c %-5p %c %x - %m%n ')
log4j.appender.DATABASE.layout = org.apache.log4j.PatternLayout
log4j.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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值