$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'
我做错了什么?
答案 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 ..