Я пытаюсь переименовать столбец на сервере сообщества MySQL 5.5.27 с помощью этого выражения SQL:
ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
Я тоже пробовал
ALTER TABLE table_name RENAME old_col_name TO new_col_name;
Но это говорит:
Ошибка: проверьте Руководство, соответствующее вашей версии сервера MySQL
Ответы:
Используйте следующий запрос:
RENAME
Функция используется в базах данных Oracle.Обратите внимание на обратные пометки, используемые для MySQL, тогда как двойные кавычки используются для синтаксиса Oracle. Также обратите внимание, что MySQL 8.0 может не принимать обратные пометки. В этом случае выполните запрос без обратных галочек, и он, вероятно, будет работать.
@ lad2025 упоминает об этом ниже, но я подумал, что было бы неплохо добавить то, что он сказал. Спасибо @ lad2025!
Вы можете использовать
RENAME COLUMN
в MySQL 8.0, чтобы переименовать любой столбец, который вам нужно переименовать.источник
CHANGE
изменяется столбец таблицы и ее тип. В MYSQL документы заявляют:Attributes present in the original definition but not specified for the new definition are not carried forward.
. Это означает, что вы должны указать определения таблиц, иначе они не будут использоваться для этого столбца. Если вы хотите изменить только тип данных столбца, просто неnewcolname
In MySQL, the quote character is the backtick. If the SQL mode ANSI_QUOTES is set, double quotes can also be used to quote the identifiers. In Oracle, identifiers are quoted using double quotation marks.
Ааа и отредактировано. Мне нужен кофе .."
вместо`
?MYSQL STATUS
показываетmysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
) я получаюError 1064 (42000): You have an error in your SQL Syntax;...near 'COLUMN thread_id TO threadId'...
за запросALTER TABLE comment RENAME COLUMN thread_id TO threadId;
. Я также попытался добавить кавычки`
. Я закончил тем, что использовалCHANGE
.В версии сервера: 5.6.34 MySQL Community Server
источник
Из MySQL 5.7 Справочное руководство .
Синтаксис:
например: для клиента TABLE, имеющего COLUMN customer_name , customer_street , customercity .
И мы хотим изменить customercity TO customer_city :
источник
С MySQL 8.0 вы можете использовать
DBFiddle Demo
источник
Вы можете использовать следующий код:
источник
Переименовать имя столбца в MySQL
источник
https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
Для MySQL 8
источник
Синтаксис: ALTER TABLE table_name CHANGE old_column_name new_column_name тип данных;
Если имя таблицы - « Студент», а имя столбца - « Имя» . Затем, если вы хотите изменить имя на First_Name
источник
для MySQL версии 5
alter table *table_name* change column *old_column_name* *new_column_name* datatype();
источник
В MySQL ваш запрос должен быть похож
Вы написали запрос в Oracle.
источник