[SQL ] NOT關鍵字

作者: LoserOfLove (LOL)   2015-11-16 10:12:07
資料庫名稱:mysql
資料庫版本:5.6.27
內容/問題描述:
想請問關於"NOT"關鍵字的用法,下面這個sql是可以執行的。
SELECT s.供應商代號, s.供應商名稱
FROM 供應商 s
WHERE EXISTS
(
SELECT *
FROM 零件 c, 專案供應零件 jc
WHERE c.顏色='黑' AND s.供應商代號=jc.供應商代號 AND c.零件代號=jc.零件代號
)
但是只要在"WHERE"與"EXISTS"之間加上"NOT"
就會得到以下的錯誤訊息:
錯誤 靜態分析: 分析過程中發生 3 個錯誤。
無法辨識的關鍵字。 (near "NOT" at position 43)
無法辨識的關鍵字。 (near "EXISTS" at position 47)
預期之外的符號。 (near "(" at position 55)
SQL 查詢:
SELECT s.供應商代號, s.供應商名稱 FROM 供應商 s WHERE NOT EXISTS ( LIMIT 0, 25
MySQL 回應:
#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, 25' at line 4
為什麼不能用NOT關鍵字呢?
是新版的mysql有更改什麼規則嗎?
作者: a926 (Aaron)   2015-11-16 11:07:00
記得原本就不能加NOT了,你可以改寫成NOT INe.g. WHERE s.供應商代號 NOT IN (SELECT s.供應商代號阿 我筆誤了 可以用NOT沒錯,不過你改用NOT IN可以嗎?你的錯誤訊息上有用到LIMIT 如果拿掉呢?
作者: LoserOfLove (LOL)   2015-11-16 12:57:00
我發現好像是phpmyadmin的問題,我用terminal執行上面的sql是可以的,不知phpmyadmin是什麼bug之前的版本沒遇過這樣的問題

Links booklink

Contact Us: admin [ a t ] ucptt.com