Я построил подготовленный оператор, который переименовывает TEST01
столбцы в столбцы, отображенные в таблице с именем MAPPING
.
Для определенного столбца с именем «локализация» я получаю следующее сообщение об ошибке: MySQL сказал: # 1054 - Неизвестный столбец «loca» в «списке полей». Я не понимаю, почему именно этот, поскольку существуют другие столбцы с более длинными именами, и они не вызывают ту же ошибку.
BEGIN
SELECT CONCAT(
'CREATE TABLE `table_client_normalized` AS SELECT * FROM (SELECT ',
GROUP_CONCAT(CONCAT(client_label, ' AS ', master_label)), ', ',
QUOTE(MAX(clientid)), ' AS client_id ',
'FROM TEST01'
') A' ) INTO @sql
FROM `MAPPING` B;
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
Я сравнил структуру данных в каждой таблице и выровнял их по: varchar(100), utf8_bin.
Если я переименую столбцы (как TEST01
и MAPPING
) в loca
или что-либо короче 4 символов, запрос будет работать.
Так что, похоже, это проблема размера, но я не понимаю причину, почему проблема только в этом конкретном столбце и что нужно сделать, чтобы решить эту проблему.
Спасибоза вашу помощь.