Ошибка переименования столбца в MySQL - PullRequest
430 голосов
/ 23 октября 2010

Как переименовать столбец в таблице xyz?Столбцы:

Manufacurerid, name, status, AI, PK, int

Я хочу переименовать в manufacturerid

Я пытался использовать панель PHPMyAdmin, но получаю эту ошибку:

MySQL said: Documentation
#1025 - Error on rename of '.\shopping\#sql-c98_26' to '.\shopping\tblmanufacturer' (errno: 150)

Ответы [ 9 ]

745 голосов
/ 23 октября 2010

Lone Ranger очень близок ... на самом деле, вам также нужно указать тип данных переименованного столбца. Например:

ALTER TABLE `xyz` CHANGE `manufacurerid` `manufacturerid` INT;

Помните:

  • Замените INT на тип данных вашего столбца (ОБЯЗАТЕЛЬНО)
  • Tilde / Backtick (`) является необязательным
43 голосов
/ 31 марта 2014

Стандартный оператор переименования Mysql:

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name 
CHANGE [COLUMN] old_col_name new_col_name column_definition 
[FIRST|AFTER col_name]

для этого примера:

ALTER TABLE xyz CHANGE manufacurerid manufacturerid datatype(length)

Ссылка: MYSQL 5.1 ALTER TABLE Синтаксис

40 голосов
/ 12 ноября 2014

ДЛЯ MYSQL:

ALTER TABLE `table_name` CHANGE `old_name` `new_name` VARCHAR(255) NOT NULL;

ДЛЯ ORACLE:

ALTER TABLE `table_name` RENAME COLUMN `old_name` TO `new_name`;
13 голосов
/ 23 октября 2010

РЕДАКТИРОВАТЬ

Вы можете переименовать поля, используя:

ALTER TABLE xyz CHANGE manufacurerid manufacturerid INT

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

7 голосов
/ 26 августа 2014

Существует проблема синтаксиса, поскольку правильный синтаксис для изменения команды: ALTER TABLE tablename CHANGE OldColumnName NewColunmName DATATYPE;

2 голосов
/ 22 октября 2014

С MySQL 5.x вы можете использовать:

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name DATATYPE NULL DEFAULT NULL;
1 голос
/ 06 мая 2017

Переименование столбца в MySQL:

ALTER TABLE mytable CHANGE current_column_name new_column_name DATATYPE;
0 голосов
/ 16 марта 2019

ALTER TABLE CHANGE;

Пример:

ALTER TABLE global_user CHANGE deviceToken deviceId VARCHAR(255) ;
0 голосов
/ 29 января 2015

SYNTAX

изменить таблицу имя_таблицы переименовать столбец имя старого столбца в имя нового столбца ;

Пример:

изменить таблицу библиотека переименовать столбец стоимость до цена ;

...