这个查询出了什么问题?

时间:2009-11-03 05:22:14

标签: sql mysql database

SELECT u.user_id, u.first_name, u.last_name, i.path AS image_path 
FROM bgy_users u
LEFT JOIN bgy_images i ON i.image_id = u.image_id 
WHERE u.commentary_id = '0'

错误:

'on子句'中的未知列'u.image_id'

image_id

中肯定有一列bgy_users

我做错了什么?

DESCRIBE BGY_USERS

的结果

alt text

DESCRIBE BGY_IMAGES

的结果

alt text

4 个答案:

答案 0 :(得分:1)

查询完全没问题mySQL 5.0.18-nt-log。仅当字段不存在时才会提示此类错误,以防双重检查bgy_users表中的列名image_id。

答案 1 :(得分:0)

试试这个

SELECT u.user_id, u.first_name, u.last_name, i.path AS image_path 
FROM (bgy_users u)
LEFT JOIN (bgy_images i) ON i.image_id = u.image_id 
WHERE u.commentary_id = '0'

唯一的区别是表名周围的括号

答案 2 :(得分:0)

你能做一个

吗?
select image_id from bgy_users;

我在问,因为我唯一一次看到这样的事情就是代码页问题,或者有不可打印的字符爬进你的查询。

答案 3 :(得分:0)

这真的很奇怪,我唯一能想到的就是你在查询错误的数据库。在应用程序代码中确认您使用了正确的连接字符串来连接数据库。

您还可以从应用程序发出“select database()”,以找出您所连接的当前数据库的名称。