이를 위해서는 기본 키워드를 제거해야 합니다. 구문은 다음과 같습니다.
ALTER TABLE yourTableName ADD COLUMN yourColumnName dataType NOT NULL AFTER yourColumnName;
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table AddingColumnDefaultValueNOTNULL -> ( -> Id int NOT NULL AUTO_INCREMENT, -> FirstName varchar(20), -> LastName varchar(20), -> Age int, -> Address varchar(100), -> Salary int, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.58 sec)
이제 테이블의 설명을 확인하십시오. 쿼리는 다음과 같습니다.
mysql> desc AddingColumnDefaultValueNOTNULL;
다음은 출력입니다.
+-----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | FirstName | varchar(20) | YES | | NULL | | | LastName | varchar(20) | YES | | NULL | | | Age | int(11) | YES | | NULL | | | Address | varchar(100) | YES | | NULL | | | Salary | int(11) | YES | | NULL | | +-----------+--------------+------+-----+---------+----------------+ 6 rows in set (0.11 sec)
다음은 기본적으로 값이 NULL이 아닌 열을 추가하는 쿼리입니다.
mysql> alter table AddingColumnDefaultValueNOTNULL add column City varchar(20) NOT NULL after Age; Query OK, 0 rows affected (2.17 sec) Records: 0 Duplicates: 0 Warnings: 0
이제 테이블의 설명을 다시 한 번 확인할 수 있습니다. 테이블에는 기본적으로 기본값이 NULL이 아닌 'City'라는 이름의 새 열이 하나 있습니다.
테이블의 설명을 확인하는 쿼리는 다음과 같습니다.
mysql> desc AddingColumnDefaultValueNOTNULL;
다음은 출력입니다.
+-----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | FirstName | varchar(20) | YES | | NULL | | | LastName | varchar(20) | YES | | NULL | | | Age | int(11) | YES | | NULL | | | City | varchar(20) | NO | | NULL | | | Address | varchar(100) | YES | | NULL | | | Salary | int(11) | YES | | NULL | | +-----------+--------------+------+-----+---------+----------------+ 7 rows in set (0.02 sec)
도시 필드를 보십시오. NULL 열에서 값은 NO입니다. 이것은 City 필드에 NULL 값을 설정할 수 없다고 말합니다.