mysql不允许我从两个单独的表中提取并比较它们

时间:2012-04-18 23:01:15

标签: mysql

在屏幕截图和项目中,projectId是连接器。当我运行以下sql代码时,我收到以下错误:

SQL代码:

SELECT * FROM screenshots s, projects p WHERE s.projectId == p.projectId ORDER BY s.idscreenshot DESC

错误:

  

发生数据库错误

     

错误号码:1064

     

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   在第1行'== p.projectId ORDER by s.idscreenshot DESC'附近

     

SELECT * FROM screenshots s,projects p WHERE s.projectId ==   p.projectId ORDER BY s.idscreenshot DESC

     

文件名:   C:\工作区\ htdocs中\一月-2012 \ nurbell \ SYSTEM \数据库\ DB_driver.php

     

行号:330

有人知道为什么会这样吗?

2 个答案:

答案 0 :(得分:3)

这是因为SQL equality operator=,而不是==

强烈建议使用显式JOIN语法来关联表,而不是使用您正在使用的隐式连接语法。因此,例如,而不是:

SELECT * 
FROM screenshots s, projects p 
WHERE s.projectId = p.projectId 
ORDER BY s.idscreenshot DESC

你应该用这个:

SELECT * 
FROM screenshots s
JOIN projects p ON s.projectId = p.projectId 
ORDER BY s.idscreenshot DESC

答案 1 :(得分:1)

使用单个=代码而不是==