试图让这个SQL查询在phpmyadmin mysql上运行,但它不起作用

时间:2014-02-12 20:34:56

标签: mysql sql phpmyadmin

这是我将在Access中运行的查询:

SELECT FMZ_FormDetActivity.*
FROM FMZ_FormDetActivity
WHERE (((FMZ_FormDetActivity.CUST_DIV)="10") AND    
    ((FMZ_FormDetActivity.ACTIVITY_DATE)>#12/31/2012#));

当我尝试在phpMyAdmin上运行它时会出现这个错误:

  

#1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第5行的'LIMIT 0,30'附近使用正确的语法

SELECT FMZ_FormDetActivity . * 
FROM FMZ_FormDetActivity
WHERE (
   (
      (
           FMZ_FormDetActivity.CUST_DIV
      ) =  "10"
   )
   AND (
     (
         FMZ_FormDetActivity.ACTIVITY_DATE
      ) > #12/31/2012#));
LIMIT 0 , 30

3 个答案:

答案 0 :(得分:2)

摆脱分号和一些引号。同时更改日期字符串。

SELECT FMZ_FormDetActivity.* 
   FROM FMZ_FormDetActivity 
   WHERE  FMZ_FormDetActivity.CUST_DIV  =  10 AND  
          FMZ_FormDetActivity.ACTIVITY_DATE  > '2012-12-31' 
 LIMIT 0 , 30

答案 1 :(得分:0)

MySQL和Access的语法截然不同。

但是,错误的主要原因是';'后面的phpMyAdmin插入了“LIMIT 0,30”声明终结者。我将删除整个最后一部分(“; LIMIT 0,30”)。

其次,在MySQL中肯定不起作用的一件事是#12/31/2012#...将“#”符号替换为单引号(')以读取'12 / 31/2012'。< / p>

该SQL语句中可能存在其他错误,但请先尝试此操作。

答案 2 :(得分:0)

#1064 - You have an error in your SQL syntax; check the manual that corresponds 
to your MySQL server version for the right syntax to use near 'LIMIT 0, 30' at line 5

这会立即告诉我你在第4行或第5行遇到问题。由于我之前使用过phpMyAdmin,因此我知道它喜欢在查询结尾添加与此LIMIT 0 , 30类似的内容。如果您在此行之前终止查询,则不会在原始查询中包含该行。这将导致它单独执行LIMIT 0 , 30,因为这不是一个正确的SQL语句,它不知道如何处理它!

干杯