MySQL 열 정의를 변경하는 방법?


156

test라는 mySQL 테이블이 있습니다.

create table test(
    locationExpect varchar(120) NOT NULL;
);

locationExpect 열을 다음과 같이 변경하고 싶습니다.

create table test(
    locationExpect varchar(120);
);

어떻게 빨리 할 수 ​​있습니까?

답변:


273

테이블을 만든 후 테이블을 변경하는 것을 의미합니까? 그렇다면 특히 alter table 을 사용해야 합니다 .

ALTER TABLE tablename MODIFY COLUMN new-column-definition

예 :

ALTER TABLE test MODIFY COLUMN locationExpect VARCHAR(120);

5
MySQLWorkbench에는이 명령을 거부하는 구문 검사 버그가 있습니다. 그러나 올바른 명령입니다.
Steven Lu

주의 : 위의 예는 COLUMN도 Null = Yes, Default = Null로 변경합니다. 널을 원하지 않으면 다른 값을 지정해야합니다.
가이 고든

원래 질문 Mask의 @GuyGordon은 열을 NOT NULLnull 허용 으로 변경하려고 했기 때문에이 예제는 여전히 괜찮다고 생각합니다. 다른 기본값을 원한다면 약간의 변형이 필요하다는 데 동의하십시오.
mikej

43

MySql 에서 열 이름변경하는 구문 :

alter table table_name change old_column_name new_column_name data_type(size);

예:

alter table test change LowSal Low_Sal integer(4);

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