[英]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');
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.