你们中的任何人都可以在这里找出 mySQL 更新语句的语法错误吗?
update table_name set start_time = DATE_ADD (start_time , INTERVAL 2 DAY) where start_time = '2020-12-08 10:47:00';
以上是简单的 mySQL 查询,将 start_time(时间戳)更新 2 天。
AFAIK,以上应该可以工作,而且并不复杂。但我收到语法错误,我无法理解为什么会出现语法错误。这是我得到的错误...
数据库错误代码:1064。消息:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 10 行的 ') where start_time = '2020-12-08 10:47:00'' 附近使用正确的语法
我还尝试过其他变体,例如...
update table_name set start_time = adddate (start_time , INTERVAL 2 DAY) where start_time = '2020-12-08 10:47:00';
update table_name set start_time = date_sub (start_time , INTERVAL -2 DAY) where start_time = '2020-12-08 10:47:00';
数据库错误代码:1064。消息:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 ') where start_time = '2020-12-08 10:47:00'' 附近使用正确的语法
如果我在 select 语句中使用 date_sub,
select * from table_name where start_time > DATE_SUB(now() , INTERVAL 2 DAY);
它确实像一个魅力。但我无法在 set =.... 的更新语句中使用它
我只是无法理解出了什么问题,并且很想知道语法有什么问题。你能建议吗?