web-dev-qa-db-fra.com

Erreur lors du changement de nom d'une colonne dans MySQL

Comment renommer une colonne de la table xyz? Les colonnes sont:

Manufacurerid, name, status, AI, PK, int

Je veux renommer manufacturerid

J'ai essayé d'utiliser le panneau PHPMyAdmin, mais j'ai l'erreur suivante:

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

Lone Ranger est très proche ... en fait, vous devez également spécifier le type de données de la colonne renommée. Par exemple:

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

Rappelles toi :

  • Remplacez INT par le type de données de votre colonne (OBLIGATOIRE)
  • Tilde/Backtick (`) est optionnel
745
Matt Diamond

La déclaration standard de renommer Mysql est la suivante:

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

pour cet exemple:

ALTER TABLE xyz CHANGE manufacurerid manufacturerid datatype(length)

Référence: syntaxe de MYSQL 5.1 ALTER TABLE

43
dongpf

POUR MYSQL:

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

POUR Oracle:

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

MODIFIER

Vous pouvez renommer des champs en utilisant:

ALTER TABLE xyz CHANGE manufacurerid manufacturerid INT

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

13
Lone Ranger

Il y a un problème de syntaxe car la bonne syntaxe pour modifier une commande est ALTER TABLE tablename CHANGE OldColumnName NewColunmName DATATYPE;

7
Darshan

Avec MySQL 5.x, vous pouvez utiliser:

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name DATATYPE NULL DEFAULT NULL;
2
MIKE KIM

renommer une colonne dans MySQL:

ALTER TABLE mytable CHANGE current_column_name new_column_name DATATYPE;
1
Hasib Kamal

ALTER CHANGEMENT DE TABLE;

Exemple:

ALTER TABLE global_user CHANGE deviceToken deviceId VARCHAR(255) ;
0
vaquar khan