Переименовать столбец в MySQL
Я пытаюсь переименовать столбец на сервере сообщества 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.
Ответы
Ответ 1
Используйте следующий запрос:
ALTER TABLE tableName CHANGE 'oldcolname' 'newcolname' datatype(length);
Функция RENAME
используется в базах данных Oracle.
ALTER TABLE tableName RENAME COLUMN "oldcolname" TO "newcolname" datatype(length);
Обратите внимание на обратные ссылки, используемые для MySQL, тогда как двойные кавычки используются для синтаксиса Oracle. Также обратите внимание, что MySQL 8.0 может не принимать обратные ссылки. В этом случае выполните запрос без обратных ссылок, и он, вероятно, будет работать.
@lad2025 упоминает это ниже, но я подумал, что было бы неплохо добавить то, что он сказал. Спасибо @lad2025!
Вы можете использовать RENAME COLUMN
в MySQL 8.0, чтобы переименовать любой столбец, который вам нужно переименовать.
ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
ALTER TABLE Синтаксис:
RENAME COLUMN:
-
Можно изменить имя столбца, но не его определение.
-
Более удобно, чем CHANGE, для переименования столбца без изменения его определения.
Ответ 2
В версии сервера: 5.6.34 Сервер сообщества MySQL
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;
Ответ 3
Из MySQL 5.7 Справочное руководство.
Синтаксис:
ALTER TABLE t1 CHANGE ab DATATYPE;
например: для клиента TABLE, имеющего COLUMN customer_name, customer_street, customercity.
И мы хотим изменить customercity на customer_city:
alter table customer change customercity customer_city VARCHAR(225);
Ответ 4
С MySQL 8.0 вы можете использовать
ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
Синтаксис ALTER TABLE:
ИЗМЕНИТЬ КОЛОННУ:
-
Может изменить имя столбца, но не его определение.
-
Удобнее, чем CHANGE, переименовывать столбец без изменения его определения.
DBFiddle Demo
Ответ 5
Вы можете использовать следующий код:
ALTER TABLE 'dbName'.'tableName' CHANGE COLUMN 'old_columnName' 'new_columnName' VARCHAR(45) NULL DEFAULT NULL ;
Ответ 6
Попробуй это
sp_rename 'tableName.oldColumnName', 'newColumnName', 'COLUMN';
Ответ 7
Переименовать имя столбца в MySQL
alter table categories change type category_type varchar(255);