好吧,如果另一个表中没有行,我试图从一个表中选择行.
我的原始查询是:
SELECT * FROM `jos_datsogallery` as a WHERE a.published = 1
and a.approved=1 NOT EXISTS (SELECT * FROM `jos_datsogallery_votes`
As v WHERE v.vip=62 AND v.vpic=a.id) ORDER BY a.imgdate DESC
Run Code Online (Sandbox Code Playgroud)
但它一直都在失败.
我做了一些测试并将我的查询缩短为:
SELECT * FROM `jos_datsogallery` WHERE EXISTS (SELECT 1)
Run Code Online (Sandbox Code Playgroud)
应该从jos_datsogallery中选择所有内容作为'EXISTS(SELECT 1)'始终为真.
我试过phpMyAdmin:
1064 - 您的SQL语法有错误.检查与MySQL服务器版本对应的手册,以便在第1行的'EXISTS(SELECT 1)LIMIT 0,30'附近使用正确的语法
怎么了?
MySQL版本:4.0.27
MySQL doc:http://dev.mysql.com/doc/refman/4.1/en/exists-and-not-exists-subqueries.html
EXISTS 仅在4.1及更高版本中支持 - 您链接的文档是4.0/4.1的组合文档,因此可能会误导哪些版本实际支持该关键字.
由于您更新了问题以表明您使用的是4.0.x,这就是为什么它不适合您.
| 归档时间: |
|
| 查看次数: |
3416 次 |
| 最近记录: |