443 Stimmen

Fehler beim Umbenennen einer Spalte in MySQL

Wie benenne ich eine Spalte in einer Tabelle um? xyz ? Die Spalten sind:

Manufacurerid, name, status, AI, PK, int

Ich möchte umbenennen in manufacturerid

Ich habe versucht, das PHPMyAdmin-Bedienfeld zu verwenden, aber ich erhalte diesen Fehler:

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

753voto

Matt Diamond Punkte 11636

Lone Ranger kommt dem sehr nahe... Tatsächlich müssen Sie auch den Datentyp der umbenannten Spalte angeben. Zum Beispiel:

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

Erinnern Sie sich:

  • Ersetzen Sie INT durch den Datentyp Ihrer Spalte (ERFORDERLICH).
  • Tilde/ Backtick (`) ist optional

44voto

dongpf Punkte 1497

Die MySQL-Standardanweisung zum Umbenennen lautet:

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

Für dieses Beispiel:

ALTER TABLE xyz CHANGE manufacurerid manufacturerid datatype(length)

Referenz: MYSQL 5.1 ALTER TABLE Syntax

42voto

mahbub_siddique Punkte 1717

FOR MYSQL:

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

FÜR ORACLE:

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

14voto

Lone Ranger Punkte 296

EDITAR

Sie können Felder mit umbenennen:

ALTER TABLE xyz CHANGE manufacurerid manufacturerid INT

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

7voto

Darshan Punkte 1924

Es gibt ein Syntaxproblem, denn die richtige Syntax für den Befehl alter lautet ALTER TABLE tablename CHANGE OldColumnName NewColunmName DATATYPE;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X