当我尝试在终端中从$sudo mysql
>> $use DB
向我的MAC本地mysql表中插入日期时间时,出现此错误:
错误1064(42000):您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 要使用的语法'(' 2015-10-07 13:21:30',5)), 转换(datetime(' 2015-10-07 13:41:30',5)))'在第1行
这是插入:
INSERT INTO log VALUES (1,28, convert(datetime('2015-10-07 13:21:30',5)), convert(datetime('2015-10-07 13:41:30',5)));
答案 0 :(得分:1)
根据mysql的dev页面(https://dev.mysql.com/doc/refman/5.1/en/datetime.html),mySQL中datetime的默认格式是'YYYY-MM-DD HH:MM:SS'。在您的情况下,如果您有DATETIME或DATE列,则无需调用任何转换函数来插入日期时间,只需按原样插入日期:'2015-10-07 13:21:30'并且您应该没问题。
通常,在插入数据时尽量避免转换,因为这会影响数据库性能,尤其是在您主动使用数据时。
答案 1 :(得分:0)
解决。
当我创建表格时,我将列设置为int
而不是datetime
,所以当然它不接受datetime
。当我改回来的时候,它工作了...... orz