将日期保存到MySql

时间:2016-03-22 10:34:44

标签: mysql sql date

我使用简单的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)附近使用正确的语法

4 个答案:

答案 0 :(得分:1)

current_datemysql 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);