簡體   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