Размер столбца в списке полей неоднозначен

Неверный SQL:

SELECT
 info_hash,
 size,
 comment,
 created_by,
 announce_list,
 completed_by, 
 completed,
 seeders,
 leechers,
 ulspeed,
 dlspeed,
 dateline,
 thumbnail_dateline, 
 filename,
 filesize,
 visible,
 attachmentid,
 counter,
 postid, 
 IF(thumbnail_filesize > 0, 1, 0) AS hasthumbnail,
 thumbnail_filesize,
 attachmenttype.thumbnail AS build_thumbnail,
 attachmenttype.newwindow
FROM attachment
LEFT JOIN attachmenttype AS attachmenttype USING (extension)
WHERE postid IN (-1,2)
ORDER BY attachmentid;

Ошибка MySQL: размер столбца в списке полей неоднозначен. Номер ошибки: 1052

2 ответа

Это означает, что size предположительно в обоих attachment а также attachmenttype,

Если вы укажете названия столбцов, у вас никогда не возникнет такой проблемы.

@GordonLinoff имеет правильный ответ. Но если вы просто скопировали этот код откуда-то, вам будет трудно понять, что он говорит. (Также лучше спросить лучше).

Используйте это как основу. Обратите внимание, как я добавил A. в size Если какое-либо поле снова неверно, вам придется добавить либо A. или же T. к этому.

SELECT info_hash, 
 A.size,
 comment,
 created_by,
 announce_list,
 completed_by, 
 completed, 
 seeders, 
 leechers, 
 ulspeed, 
 dlspeed,
 dateline, 
 thumbnail_dateline, 
 filename, 
 filesize, 
 visible,
 attachmentid, 
 counter,
 postid,
 IF(thumbnail_filesize > 0, 1, 0) AS hasthumbnail,
 thumbnail_filesize,
 T.thumbnail AS build_thumbnail, 
 T.newwindow
FROM attachment A
LEFT JOIN attachmenttype AS T USING (extension)
WHERE A.postid IN (-1,2)
ORDER BY A.attachmentid;
Другие вопросы по тегам