Mysql使用curdate更新时间戳
我正在使用Perl和Mysql,我在Navicat中测试这个查询Mysql使用curdate更新时间戳,mysql,perl,Mysql,Perl,我正在使用Perl和Mysql,我在Navicat中测试这个查询 UPDATE table SET times = ADDDATE(CURDATE(), INTERVAL 1 DAY) WHERE id = 1; 例如,当我在Navicat中执行时,我得到结果2014-06-18 00:00:00 当我从perl脚本执行此查询时,我得到2014-06-18 15:22:12 为什么在perl脚本中不是00:00:00? 列时间有类型时间戳。我认为perl连接器(DBI)正在添加当前时间(Hh:
UPDATE table SET times = ADDDATE(CURDATE(), INTERVAL 1 DAY) WHERE id = 1;
例如,当我在Navicat中执行时,我得到结果2014-06-18 00:00:00
当我从perl脚本执行此查询时,我得到2014-06-18 15:22:12
为什么在perl脚本中不是00:00:00?
列时间有类型时间戳。我认为perl连接器(DBI)正在添加当前时间(Hh:mm:ss),而Navicat的连接器没有。我的建议是使用NOW()而不是CURDATE(),这应该可以解决这个问题 或者,如果希望设置为00:00:00,请尝试以下操作:
DATE_FORMAT(ADDDATE(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d') DATEONLY
试试date_格式,看看这是否有区别,否则您可能需要自己使用date_格式加上一个附加的“00:00:00”来构建字符串@user1144700是否成功?我很愚蠢,我运行了其他版本的perl脚本,其中usage NOW();