Ошибка переименования столбца в MySQL

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

Ответ 1

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

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

Помните:

  • Замените INT любым типом данных вашего столбца (НЕОБХОДИМЫ)
  • Tilde/Backtick (`) является необязательным

Ответ 2

Стандартный оператор переименования 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 Синтаксис

Ответ 3

ДЛЯ 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`;

Ответ 5

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

Ответ 6

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

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name DATATYPE NULL DEFAULT NULL;

Ответ 7

ALTER TABLE mytable CHANGE current_column_name new_column_name DATATYPE;

Ответ 8

СИНТАКСИС

alter table table_name переименовать столбец имя старого столбца в новое имя столбца;

Пример:

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