ALTER TABLE-열 이름 바꾸기


102

이것은 나를 미치게합니다!

내 블로그 테이블에서 열을 read-more에서 read_more로 바꾸고 싶습니다.

나는 이것을 모두 시도했다 :

  ALTER TABLE blog RENAME COLUMN read-more to read_more;
  ALTER TABLE blog CHANGE COLUMN 'read-more' 'read_more' VARCHAR(255) NOT NULL;

그리고 나는 항상 이것을 얻는다!

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COLUMN read-more to read_more' at line 1

MySQL 5.5를 사용하고 있습니다

답변:


139

유효한 구문은 두 번째 시도와 비슷하지만 작은 따옴표가 아닌 백틱으로 열 이름을 이스케이프해야합니다.

ALTER TABLE `blog` CHANGE COLUMN `read-more` `read_more` VARCHAR(255) NOT NULL;

18
ALTER TABLE `blog` CHANGE  `read-more` `read_more` VARCHAR(255) NOT NULL;

위에서 언급 한 쿼리는 정확하며 mysql 데이터베이스를 사용하는 경우 테이블 및 열 이름 주위에 "열"키워드와 따옴표를 사용할 필요가 없습니다.

ALTER TABLE blog CHANGE read-more read_more VARCHAR(255) NOT NULL;

3

나를 위해 일한 것은 다음과 같습니다.

ALTER TABLE vm_list CHANGE `vm_notes]` vm_notes VARCHAR(255); 

Query OK, 0 rows affected (0.01 sec) 
Records: 0  Duplicates: 0  Warnings: 0

예, 어떻게 든 "vm_notes]"라는 열이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.