繁体   English   中英

SQL查询错误#1064

[英]SQL query error#1064

这是我写的查询:

SELECT students.name, subjects.sub
FROM students INNER JOIN (subjects INNER JOIN test ON subjects.IDsub = test.IDsub) ON  students.IDstu = test.IDstu
WHERE ((test.date)=#1/21/2013#);

每次执行此查询时,都会收到以下消息:

'#1064-您的SQL语法有误; 检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第4行的“ LIMIT 0,30”附近使用

我认为问题出在日期格式上,因为如果执行此命令,则:

SELECT students.name, subjects.sub
FROM students INNER JOIN (subjects INNER JOIN test ON subjects.IDsub = test.IDsub) ON students.IDstu = test.IDstu
WHERE ((test.IDsub)=4);

一切正常!

数据库中有3个表:“学生”,“测试”,“主题”。

日期应该像这样,即代替#使用'

SELECT students.name, subjects.sub
FROM students INNER JOIN 
(subjects INNER JOIN test ON subjects.IDsub = test.IDsub) 
  ON  students.IDstu = test.IDstu
WHERE ((test.date)='1/21/2013');

str_to_date

SELECT students.name, subjects.sub
FROM students INNER JOIN (subjects INNER JOIN test ON subjects.IDsub = test.IDsub) ON  students.IDstu = test.IDstu
WHERE ((test.date)=str_to_date('1/21/2013');

我看到的另一个问题是井号#的使用不是在mysql中创建字符串查找的有效方法。 您要使用单引号'

PhpMyAdmin向每个命令添加一个SQL代码段,以限制返回的记录数。

LIMIT 0, 30

我将从查询末尾删除分号,因为否则SQL会认为此额外的代码段是另一个查询。

WHERE ((test.date)=#1/21/2013#)

另外,我从未见过像这样的查询中使用过# ,您那里可能有问题。

编辑:根据其他人(他们忽略了实际的SQL错误...), #无效,请使用引号。

另一个编辑:实际上, #符号似乎有效。

选择具有日期条件的查询

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM