[SQL ] NOT關鍵字

看板Database (資料庫)作者 (LOL)時間10年前 (2015/11/16 10:12), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串1/1
資料庫名稱: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有更改什麼規則嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.160.219 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1447639929.A.845.html

11/16 11:07, , 1F
記得原本就不能加NOT了,你可以改寫成NOT IN
11/16 11:07, 1F

11/16 11:08, , 2F
e.g. WHERE s.供應商代號 NOT IN (SELECT s.供應商代號
11/16 11:08, 2F

11/16 11:09, , 3F
阿 我筆誤了 可以用NOT沒錯,不過你改用NOT IN可以嗎?
11/16 11:09, 3F

11/16 11:12, , 4F
你的錯誤訊息上有用到LIMIT 如果拿掉呢?
11/16 11:12, 4F

11/16 12:57, , 5F
我發現好像是phpmyadmin的問題,我用terminal執行
11/16 12:57, 5F

11/16 12:57, , 6F
上面的sql是可以的,不知phpmyadmin是什麼bug
11/16 12:57, 6F

11/16 12:57, , 7F
之前的版本沒遇過這樣的問題
11/16 12:57, 7F
文章代碼(AID): #1MIJjvX5 (Database)
文章代碼(AID): #1MIJjvX5 (Database)