我的服务器上有5.1mysql版本。我正在尝试执行以下查询:

SELECT File_Name
FROM Words_DB
WHERE Word_Name=" . $element . "
EXCEPT
SELECT File_Name
FROM Files_DB
WHERE Display=0

我发现一个错误:
错误:您的sql语法有错误;请检查与mysql服务器版本相对应的手册,以获取在第4行“从文件中选择文件名”附近使用的正确语法,其中display=0
有人能告诉我如何用另一种形式执行这个查询吗?
谢谢你,麦克斯。

最佳答案

据我所知,mysql不支持EXCEPT运算符。请改为:

SELECT File_Name
FROM Words_DB
WHERE Word_Name=" . $element . "
AND File_Name NOT IN (
  SELECT File_Name
  FROM Files_DB
  WHERE Display=0
)

您也可以使用相关的NOT EXISTSLEFT JOIN。因为我不怎么使用mysql,所以我不能说哪个性能最好。

关于mysql - 在MySql 5.1版本上使用EXCEPT运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26426619/

10-12 12:49
查看更多