【问题标题】:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntaxERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法
【发布时间】:2018-04-04 18:12:47
【问题描述】:

我尝试在 mysql 版本 5.7.19 中执行查询视图时出错

这是我的查询:

CREATE ALGORITHM=UNDEFINED DEFINER=`acc_webdev`@`%` SQL SECURITY DEFINER VIEW `view_dash_total` AS 
SELECT
  COUNT(0) AS `jumlah`,
  SYSDATE() AS `tanggal`
FROM `table_laporan`
WHERE (STR_TO_DATE(`table_laporan`.`dt_added`,'%d-%m-%Y') < (SYSDATE() + INTERVAL - (1)DAY))$$

得到了这个错误:

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 6 行的“$$”附近使用正确的语法

但是在mysql 5.1.25中,执行上面的查询时没有错误

请帮帮我

【问题讨论】:

  • 只有这些吗?它不应该以分号结尾吗?
  • dt_added 的日期格式是什么?
  • @JerryJeremiah 是的,仅此而已......所以我应该用“;”替换'$$'吗?
  • @Irfan 是 varchar

标签: mysql sql


【解决方案1】:

试试这个:

CREATE VIEW `view_dash_total` AS 
SELECT
  COUNT(0) AS `jumlah`,
  SYSDATE() AS `tanggal`
FROM `table_laporan`
WHERE (STR_TO_DATE(`table_laporan`.`dt_added`,'%d-%m-%Y') < (SYSDATE() + INTERVAL - (1)DAY));

【讨论】:

    【解决方案2】:

    要么在你的 DDL 前加上 DELIMITER $$,要么只是将你的分隔符更改为 ;

    阅读更多关于delimiters here

    【讨论】:

      猜你喜欢
      • 2017-09-12
      • 2017-11-22
      • 2021-12-03
      • 2014-03-27
      • 2019-11-22
      • 2018-11-09
      • 2015-10-23
      • 2017-06-01
      相关资源
      最近更新 更多