这是我将在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
答案 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语句,它不知道如何处理它!
干杯