답변:
다음 쿼리를 사용하십시오.
ALTER TABLE tableName CHANGE `oldcolname` `newcolname` datatype(length);
이 RENAME
기능은 Oracle 데이터베이스에서 사용됩니다.
ALTER TABLE tableName RENAME COLUMN "oldcolname" TO "newcolname" datatype(length);
큰 따옴표는 Oracle의 구문에 사용되는 반면 MySQL에는 백틱이 사용됩니다. 또한 MySQL 8.0은 백틱을 허용하지 않을 수 있습니다. 이 경우 백틱없이 쿼리를 실행하면 작동합니다.
@ lad2025 는 아래에 언급하지만, 그가 말한 것을 추가하는 것이 좋을 것이라고 생각했습니다. @ lad2025 감사합니다!
RENAME COLUMN
MySQL 8.0에서 를 사용하여 이름을 변경해야하는 열의 이름을 바꿀 수 있습니다.
ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
열 이름 바꾸기 :
열 이름은 변경할 수 있지만 정의는 변경할 수 없습니다.
정의를 변경하지 않고 열의 이름을 바꾸는 것이 CHANGE보다 편리합니다.
CHANGE
테이블의 열과 유형을 변경합니다. MYSQL 문서 상태 : Attributes present in the original definition but not specified for the new definition are not carried forward.
. 테이블 정의를 지정해야하거나 해당 열에 사용되지 않음을 의미합니다. 열의 데이터 유형 만 변경하려면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가 편집했습니다. 커피가 필요합니다.
"
대신 사용하지 않았 `
습니까?
MYSQL STATUS
쇼 mysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
), 나는 Error 1064 (42000): You have an error in your SQL Syntax;...near 'COLUMN thread_id TO threadId'...
쿼리를 얻는다 ALTER TABLE comment RENAME COLUMN thread_id TO threadId;
. 나는 또한 백틱을 추가하려고 시도했다 `
. 나는을 사용하여 끝났다 CHANGE
.
서버 버전 : 5.6.34 MySQL 커뮤니티 서버
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;
에서 의 MySQL 5.7 레퍼런스 매뉴얼 .
구문 :
변경 테이블 t1 변경 ab 데이터 유형;
예 : COLUMN customer_name , customer_street , customercity가있는 Customer TABLE의 경우 .
그리고 우리는 변경할 customercity을 에게 customer_city :
alter table customer change customercity customer_city VARCHAR(225);
MySQL 8.0부터는
ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
열 이름 바꾸기 :
열 이름은 변경할 수 있지만 정의는 변경할 수 없습니다.
정의를 변경하지 않고 열의 이름을 바꾸는 것이 CHANGE보다 편리합니다.
https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
MySQL 8의 경우
alter table creditReportXml_temp change column applicationID applicantID int(11);