MySQL查询错误 - 无法弄清楚它可能是什么?

时间:2012-04-29 18:44:56

标签: mysql sql

$sql = 'SELECT track_id, track_title, track_num, al.album_name, g.genre_name, a.artist_name, length, track_rating '.
        'FROM album x, genre g, artist a, album al '.
        'WHERE x.genre = g.genre_id AND x.artist = a.artist_id AND x.album = al.album_id';

我得到错误:'字段列表'中的未知列'track_id'

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您需要限定列名称。

$sql = 'SELECT x.track_id, x.track_title, x.track_num, al.album_name,...

由于您引用了多个表,因此MySQL不知道列track_id将存在于哪个表中。明确指定x.track_id会告诉它列中的列是别名{{1}在这种情况下,x

另外,为什么要两次引用表album

album

答案 1 :(得分:1)

错误可能是您忘记包含表格。

xbonez的答案,它不知道使用哪个表track_id在这种情况下不适用,那么你会得到另一个错误,如Column 'track_id' in field list is ambiguous ...

您可能需要FROM album x, genre g, artist a, track t ..