#mysql #alter #backticks
#mysql #изменить #обратные ссылки
Вопрос:
Итак, другой парень на работе создал таблицу со столбцом под названием:
Max(`abs_spg_20090430`.`ID`)
это выдает мне ошибку теперь, когда я пытаюсь запустить дамп базы данных на другом сервере.
Я пытаюсь переименовать его, но
ALTER TABLE abs_spgID_20090504 CHANGE Max(`abs_spg_20090430`.`ID`) id bigint default null;
а также
ALTER TABLE abs_spgID_20090504 CHANGE `Max(`abs_spg_20090430`.`ID`)` id bigint default null;
выдает ошибку. У кого-нибудь из вас, дружелюбных людей, есть подсказка? Большое спасибо!
Комментарии:
1.Имя столбца имеет круглые скобки
( )
и обратные кавычки? вау!2. Пожалуйста, всегда указывайте точное сообщение об ошибке, которое вы получаете.
3.
Max(
.
идентификатор)
abs_spg_20090430 — это не столбец, это вызов функции4. Я думаю, вы смотрите представление , а не таблицу.
5. нет, этот другой парень действительно выбрал это имя для столбца.
Ответ №1:
вам нужно привести свои цитаты и колонку тоже, например:
ALTER TABLE abs_spgID_20090504 CHANGE `Max(``abs_spg_20090430``.``ID``)` id BIGINT DEFAULT NULL;
Комментарии:
1. Это почти сработало, но сервер пожаловался на период сейчас. Я создал другую таблицу с теми же полями, но с более обычными именами, а затем вставил в tmp select * из abs_spgID_20090504; а затем просто удалил первую таблицу и переименовал вторую. В любом случае, большое спасибо! Я ценю ваш вклад
2. странно, когда я создал столбец точно так, как указано, команда отлично сработала для меня