Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL의 기존 열에 null이 아닌 제약 조건을 추가하는 방법은 무엇입니까?

<시간/>

MySQL의 기존 열에 null이 아닌 제약 조건을 추가하려면 ALTER 명령을 사용합니다. 이것은 사용자가 null 값을 입력하지 못하도록 제한하는 일종의 유효성 검사입니다.

예를 들어 보겠습니다. 먼저 테이블을 생성하겠습니다. CREATE 명령은 테이블을 생성하는 데 사용됩니다.

mysql> 테이블 생성 AddNotNUlldemo -> ( -> name varchar(100) -> );쿼리 OK, 영향을 받는 행 0개(0.44초)

레코드를 삽입합니다.

mysql> Insert into AddNotNUlldemo values('John');Query OK, 1개의 row가 영향을 받았습니다(0.19초)mysql> insert into AddNotNUlldemo values('Bob');Query OK, 1 row가 영향을 받았습니다(0.19초)> 

모든 기록을 표시합니다.

mysql> 선택 * from AddNotNUlldemo;

다음은 출력입니다.

+------+| 이름 |+------+| 존 || 밥 |+---+2행 세트(0.00초)

다음은 기존 열에 제약 조건을 추가하는 구문입니다.

ALTER 테이블 yourTableName이 column_name 데이터 유형 제약 조건을 수정합니다.

이제 위의 구문을 구현하여 아래 쿼리를 구현해 보겠습니다. 여기에 "not null" 제약 조건이 포함됩니다.

mysql> ALTER 테이블 AddNotNUlldemo 수정 이름 varchar(100) not null;Query OK, 영향을 받는 행 0개(1.14초) 레코드:0 중복:0 경고:0

이제 위의 제약 조건을 "not null"로 설정했기 때문에 "AddNotNUlldemo" 테이블에 null 값을 삽입할 수 없습니다. null 값을 추가하려고 하면 오류가 발생합니다. 다음은 예시입니다.

mysql> INSERT into AddNotNUlldemo values(null);ERROR 1048 (23000):'name' 열은 null일 수 없습니다.

모든 기록을 표시합니다.

mysql> SELECT *AddNotNUlldemo에서;

다음은 출력입니다.

+------+| 이름 |+------+| 존 || 밥 |+---+2행 세트(0.00초)