Это запрос, который вызывает проблему:
CREATE TEMPORARY TABLE fetchedCropVariety ENGINE = MEMORY
SELECT *
, hz.zoneName
, i.fullImageUrl
, i.previewImageUrl
, u.userName
FROM seedrecord s
LEFT
JOIN HardinessZone hz
ON hz.id = s.hardiness_zone_id
JOIN image i
ON s.id = i.seedrecord_id
JOIN members u
ON s.FK_USER = u.id
WHERE s.id = 1
AND s.deleted = FALSE;
Когда я выполняю этот запрос, он выдает ошибку Error Code: 1060. Duplicate column name 'id'
В таблице seedrecord
нет повторяющихся столбцов с именем id, так что это вызванный одним или несколькими столбцами идентификаторов из других таблиц, которые используются только для объединения их, чтобы получить zoneName
и fullImageUrl
.
Когда я удаляю *,
из запроса, запрос выполняется, но все поля из seedrecord
опущены. Это должен быть столбец id
из seedrecord
, который каким-то образом конфликтует со столбцами id из hardinessZone
и members
, но я не пытаюсь включить поля id этих двух таблиц во временную таблицу, которую я хочу создать так что эта ошибка действительно озадачивает меня.
Может кто-нибудь сказать мне, что я могу сделать, чтобы предотвратить возникновение этой ошибки?
Спасибо