Próbuję zmienić nazwę kolumny na serwerze społeczności MySQL 5.5.27 za pomocą tego wyrażenia SQL:
ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
Też próbowałem
ALTER TABLE table_name RENAME old_col_name TO new_col_name;
Ale mówi:
Błąd: sprawdź Podręcznik, który odpowiada twojej wersji serwera MySQL
Odpowiedzi:
Użyj następującego zapytania:
RENAME
Funkcja jest używana w bazach danych Oracle.Zwróć uwagę na backtyki używane w MySQL, podczas gdy w składni Oracle stosowane są podwójne cudzysłowy. Należy również pamiętać, że MySQL 8.0 może nie akceptować odwrotnych ustawień. W takim przypadku wykonaj zapytanie bez odwrotnego ciągu i prawdopodobnie zadziała.
@ lad2025 wspomina o tym poniżej, ale pomyślałem, że byłoby miło dodać to, co powiedział. Dziękuję @ lad2025!
Możesz użyć
RENAME COLUMN
w MySQL 8.0, aby zmienić nazwę dowolnej kolumny, której nazwę chcesz zmienić.źródło
CHANGE
zmienia kolumnę w tabeli i jej typ. Docs MYSQL stwierdzić:Attributes present in the original definition but not specified for the new definition are not carried forward.
. Oznacza to, że musisz podać definicje tabel, w przeciwnym razie nie będą one używane w tej kolumnie. Jeśli chcesz tylko zmienić typ danych kolumny, po prostu pomińnewcolname
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.
Aaaand edytowany. Potrzebuję kawy .."
zamiast`
?MYSQL STATUS
pokazujemysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
) dostajęError 1064 (42000): You have an error in your SQL Syntax;...near 'COLUMN thread_id TO threadId'...
zapytanieALTER TABLE comment RENAME COLUMN thread_id TO threadId;
. Próbowałem także dodać backticks`
. Skończyło się na tymCHANGE
.W wersji Server: 5.6.34 MySQL Community Server
źródło
Z podręcznika MySQL 5.7 .
Składnia:
na przykład: dla klienta TABELA mający COLUMN CUSTOMER_NAME , customer_street , customercity .
I chcemy zmienić customercity TO customer_city :
źródło
Z MySQL 8.0 możesz użyć
DBFiddle Demo
źródło
Możesz użyć następującego kodu:
źródło
Zmień nazwę kolumny w mysql
źródło
https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
Dla MySQL 8
źródło
Składnia: ALTER TABLE nazwa_tabeli ZMIEŃ stara_kolumna nowa nazwa_kolumny typ danych;
Jeśli nazwa tabeli to Student, a nazwa kolumny to Name . Następnie, jeśli chcesz zmienić nazwę na First_Name
źródło
dla mysql w wersji 5
alter table *table_name* change column *old_column_name* *new_column_name* datatype();
źródło
W mysql twoje zapytanie powinno być jak
napisałeś zapytanie w Oracle.
źródło