0

在屏幕截图和项目中,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, projects p WHERE s.projectId == p.projectId ORDER BY s.idscreenshot DESC

文件名:C:\Workspace\htdocs\Jan-2012\nurbell\system\database\DB_driver.php

行号:330

有谁知道为什么会这样?

4

2 回答 2

3

发生这种情况是因为SQL 相等运算符=,而不是==

还强烈建议使用显式 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
于 2012-04-18T23:03:56.620 回答
1

使用单个=符号而不是==

于 2012-04-18T23:04:04.743 回答