it-swarm.com.ru

Переименовать столбец в 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

127
Michael Peter

Используйте следующий запрос:

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 :

ПЕРЕИМЕНОВАТЬ КОЛОННУ:

  • Может изменить имя столбца, но не его определение.

  • Удобнее, чем CHANGE, переименовывать столбец без изменения его определения. 

222
Rizky Fakkel

В версии сервера: 5.6.34 MySQL Community Server

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;
37
Kanke

из Справочник по MySQL 5.7 Руководство

Синтаксис 

ИЗМЕНЕНИЕ ТАБЛИЦЫ t1 ИЗМЕНЕНИЕ a ДАННЫЙ ТИП;

например: для Customer TABLE с COLUMN customer_name, customer_street, customercity 

и мы хотим изменить customercity на customer_city

alter table customer change customercity customer_city VARCHAR(225);
14
Ashu_FalcoN

С MySQL 8.0 вы можете использовать

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

Синтаксис ALTER TABLE :

ПЕРЕИМЕНОВАТЬ КОЛОННУ:

  • Может изменить имя столбца, но не его определение.

  • Удобнее, чем CHANGE, переименовывать столбец без изменения его определения. 

DBFiddle Demo

9
Lukasz Szozda

Вы можете использовать следующий код:

ALTER TABLE `dbName`.`tableName` CHANGE COLUMN `old_columnName` `new_columnName` VARCHAR(45) NULL DEFAULT NULL ;
5
sam

Попробуй это

sp_rename 'tableName.oldColumnName', 'newColumnName', 'COLUMN';
0
RAVI KUMAR

переименовать имя столбца в mysql

alter table categories change  type  category_type varchar(255);
0
Dinesh Vaitage