Erro ao renomear uma coluna no MySQL

Como renomeio uma coluna na tabela xyz ? As colunas são:

 Manufacurerid, name, status, AI, PK, int 

Quero renomear para manufacturerid

Eu tentei usar o painel PHPMyAdmin, mas recebo este erro:

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

Lone Ranger é muito próximo … na verdade, você também precisa especificar o tipo de dados da coluna renomeada. Por exemplo:

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

Lembrar :

  • Substitua INT por qualquer que seja o tipo de dados da coluna (NECESSÁRIO)
  • Til / backtick (`) é opcional

A declaração padrão de renomeação do Mysql é:

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

para este exemplo:

 ALTER TABLE xyz CHANGE manufacurerid manufacturerid datatype(length) 

Referência: MYSQL 5.1 Sintaxe ALTER TABLE

PARA MYSQL:

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

PARA ORACLE:

 ALTER TABLE `table_name` RENAME COLUMN `old_name` TO `new_name`; 

EDITAR

Você pode renomear campos usando:

 ALTER TABLE xyz CHANGE manufacurerid manufacturerid INT 

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

Há um problema de syntax, porque a syntax correta para alterar o comando é ALTER TABLE tablename CHANGE OldColumnName NewColunmName DATATYPE;

Com o MySQL 5.x você pode usar:

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

SINTAXE

alter table table_name renomear coluna nome da coluna antiga para o novo nome da coluna ;

Exemplo:

alterar a biblioteca de tabelas renomear o custo da coluna para o preço ;

    Intereting Posts