我有这个问题:
update prices_types_company1 set 'date'=DATE_ADD('date',INTERVAL 1 year)
我试图直接在phpMyadmin中执行以增加所有日期字段1年,但它返回错误:
1064 - 您的SQL语法出错;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 第1行''date'= DATE_ADD('date',INTERVAL 1 year)'附近
它有什么问题以及我可以用1年来增加日期的其他查询。字段“日期”是类型日期..
谢谢
答案 0 :(得分:2)
删除单引号并使用这样的反引号
UPDATE prices_types_company1 SET `date`=DATE_ADD(`date`,INTERVAL 1 YEAR);
答案 1 :(得分:2)
MySQL在许多情况下表现得相当奇怪,更新就是其中之一。你必须做类似的事情:
update prices_types_company1
set date=DATE_ADD(date,INTERVAL 1 year)
order by date desc;
以避免重复键错误。例如:
create table t (d date not null primary key);
insert into t (d) values ('2014-06-05 12:00:00'),('2014-06-06 12:00:00');
update t set d = DATE_ADD(d, interval 1 day);
ERROR 1062 (23000): Duplicate entry '2014-06-06' for key 'PRIMARY'
update t set d = DATE_ADD(d, interval 1 day) order by d desc;
Query OK, 2 rows affected (0.01 sec)
Rows matched: 2 Changed: 2 Warnings: 0
答案 2 :(得分:1)
删除所有单个qoutes:
update prices_types_company1 set date=DATE_ADD(date,INTERVAL 1 year)