Ich versuche, eine Spalte in MySQL Community Server 5.5.27 mit diesem SQL-Ausdruck umzubenennen:
ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
Ich habe es auch versucht
ALTER TABLE table_name RENAME old_col_name TO new_col_name;
Aber es heißt:
Fehler: Überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht
Antworten:
Verwenden Sie die folgende Abfrage:
Die
RENAME
Funktion wird in Oracle-Datenbanken verwendet.Beachten Sie die für MySQL verwendeten Backticks, während für die Oracle-Syntax doppelte Anführungszeichen verwendet werden. Beachten Sie auch, dass MySQL 8.0 möglicherweise keine Backticks akzeptiert. Führen Sie in diesem Fall die Abfrage ohne Backticks aus, und sie wird wahrscheinlich funktionieren.
@ lad2025 erwähnt es unten, aber ich dachte, es wäre schön, hinzuzufügen, was er sagte. Vielen Dank an lad2025!
Sie können die
RENAME COLUMN
in MySQL 8.0 verwenden, um jede Spalte umzubenennen, die Sie umbenennen müssen.quelle
CHANGE
die Spalte in einer Tabelle und ihren Typ. In den MYSQL-Dokumenten heißt es :Attributes present in the original definition but not specified for the new definition are not carried forward.
. Das heißt, Sie müssen die Tabellendefinitionen angeben, sonst werden sie für diese Spalte nicht verwendet. Wenn Sie nur den Datentyp einer Spalte ändern möchten, lassen Sie einfach dennewcolname
In MySQL, the quote character is the backtick. If the SQL mode ANSI_QUOTES is set, double quotes can also be used to quote the identifiers. In Oracle, identifiers are quoted using double quotation marks.
Aaaund bearbeitet. Ich brauche Kaffee .."
statt`
?MYSQL STATUS
Showsmysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
) bekomme ichError 1064 (42000): You have an error in your SQL Syntax;...near 'COLUMN thread_id TO threadId'...
für die AbfrageALTER TABLE comment RENAME COLUMN thread_id TO threadId;
. Ich habe auch versucht, Backticks hinzuzufügen`
. Am Ende habe ich verwendetCHANGE
.In der Serverversion: 5.6.34 MySQL Community Server
quelle
Ab MySQL 5.7 Referenzhandbuch .
Syntax :
Beispiel: für Customer TABLE mit COLUMN customer_name , customer_street , customercity .
Und wir wollen uns ändern customercity TO customer_city :
quelle
Ab MySQL 8.0 können Sie verwenden
DBFiddle Demo
quelle
Sie können folgenden Code verwenden:
quelle
Benennen Sie den Spaltennamen in MySQL um
quelle
https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
Für MySQL 8
quelle
Syntax: ALTER TABLE Tabellenname CHANGE alter_spaltenname neuer_spaltenname datentyp;
Wenn Tabellenname : Student und Spaltenname ist Name . Wenn Sie dann den Namen in Vorname ändern möchten
quelle
für MySQL Version 5
alter table *table_name* change column *old_column_name* *new_column_name* datatype();
quelle
In MySQL sollte Ihre Anfrage wie folgt sein
Sie haben die Abfrage in Oracle geschrieben.
quelle