Estou tentando renomear uma coluna no servidor da comunidade MySQL 5.5.27 usando esta expressão SQL:
ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
Eu também tentei
ALTER TABLE table_name RENAME old_col_name TO new_col_name;
Mas diz:
Erro: verifique o manual que corresponde à sua versão do servidor MySQL
Respostas:
Use a seguinte consulta:
A
RENAME
função é usada nos bancos de dados Oracle.Observe os backticks usados para o MySQL, enquanto aspas duplas são usadas para a sintaxe do Oracle. Observe também que o MySQL 8.0 pode não aceitar backticks. Nesse caso, execute a consulta sem backticks e provavelmente funcionará.
@ lad2025 menciona isso abaixo, mas achei que seria bom acrescentar o que ele disse. Obrigado @ lad2025!
Você pode usar o
RENAME COLUMN
no MySQL 8.0 para renomear qualquer coluna que você precise renomear.fonte
CHANGE
altera a coluna em uma tabela e seu tipo. Os docs MYSQL afirmar:Attributes present in the original definition but not specified for the new definition are not carried forward.
. Ou seja, você precisa especificar as definições da tabela ou elas não serão usadas para essa coluna. Se você quiser alterar apenas o tipo de dados de uma coluna, deixe de fora onewcolname
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 editado. Eu preciso de café .."
vez de`
?MYSQL STATUS
showsmysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
), receboError 1064 (42000): You have an error in your SQL Syntax;...near 'COLUMN thread_id TO threadId'...
a consultaALTER TABLE comment RENAME COLUMN thread_id TO threadId;
. Eu também tentei adicionar backticks`
. Acabei usandoCHANGE
.Na versão Server: 5.6.34 MySQL Community Server
fonte
No Manual de Referência do MySQL 5.7 .
Sintaxe:
por exemplo: para Customer TABLE com COLUMN customer_name , customer_street , customercity .
E nós queremos mudar customercity TO customer_city :
fonte
No MySQL 8.0 você poderia usar
DBFiddle Demo
fonte
Você pode usar o seguinte código:
fonte
Renomeie o nome da coluna no mysql
fonte
https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
Para MySQL 8
fonte
Sintaxe: ALTER TABLE table_name CHANGE old_column_name new_column_name tipo de dados;
Se o nome da tabela for Aluno e o nome da coluna for Nome . Então, se você deseja alterar o nome para First_Name
fonte
para mysql versão 5
alter table *table_name* change column *old_column_name* *new_column_name* datatype();
fonte
No mysql, sua consulta deve ser como
você escreveu a consulta no Oracle.
fonte