我使用简单的SQL查询将一些日期保存到数据库。
mysql专栏:
current_date` date DEFAULT NULL,
但执行查询时显示错误:
insert into
computers
(computer_name, current_date, ip_address, user_id)
values
('Default_22', '2012-01-01', null, 37);
[2016-03-22 12:21:46] [42000] [1064]您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'current_date,ip_address,user_id)附近使用正确的语法
答案 0 :(得分:1)
current_date
是mysql function,您不能在插入查询时将其作为列别名;
尝试转义列名
insert into computers (`computer_name`, `current_date`, ....
答案 1 :(得分:0)
" CURRENT_DATE"在MySQL中保留,因此使用(`)字符来包含字段名称
使用此
INSERT INTO computers
(`computer_name`, `current_date`, `ip_address`, `user_id`)
VALUES
('Default_22', '2012-01-01', null, 37);
答案 2 :(得分:0)
current_date
是一个mysql保留关键字,请尝试:select current_date
,您可以重命名列,也可以像这样转义查询:
insert into
computers
(`computer_name`, `current_date`, `ip_address`, `user_id`)
values
('Default_22', '2012-01-01', null, 37);
答案 3 :(得分:0)
正如您在mysql文档中看到的那样 http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_current-date
current_date
是MySQL中的一个函数,它返回当前日期。
因此,要么更改列名,要么使用反引号转义插入中的列名。
insert into
computers
(`computer_name`, `current_date`, `ip_address`, `user_id`)
values
('Default_22', '2012-01-01', null, 37);