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

MySQL에서 값이 null인 경우 null이 아닌 열에 기본값을 삽입하시겠습니까?

<시간/>

IFNULL() 속성을 사용하거나 IS NULL 속성과 함께 간단한 IF()를 사용할 수 있습니다. 구문은 다음과 같습니다 -

INSERT INTO yourTableName(yourColumnName1,yourColumnName2)VALUES('yourValue'',IF(yourColumnName1 IS NULL,DEFAULT(yourColumnName2),'yourMessage'));

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> 테이블 Post 생성 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar(10), -> UserPostMessage varchar(50) NOT NULL DEFAULT '안녕하세요!!!' -> );쿼리 OK, 영향을 받은 행 0개(0.67초)

이제 값이 null인 경우 null이 아닌 열에 기본값을 삽입할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> insert into Post(UserName,UserPostMessage) -> values('John',if(UserName IS NULL,DEFAULT(UserPostMessage),'Hello'));Query OK, 1행 영향(0.21초)mysql> insert into Post(UserName,UserPostMessage) -> values(NULL,if(UserName IS NULL,DEFAULT(UserPostMessage),'Hello'));Query OK, 영향을 받는 행 1개(0.22초)mysql> Post(UserName,UserPostMessage에 삽입) ) -> values('Carol',if(UserName IS NULL,DEFAULT(UserPostMessage),'Hello'));Query OK, 1행 영향(0.14초)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> 선택 *게시물에서;

다음은 출력입니다 -

+----+----------+---------------------+| 아이디 | 사용자 이름 | UserPostMessage |+----+----------+---------------------+| 1 | 존 | 안녕하세요 || 2 | 널 | 안녕하세요 좋은 아침 !!! || 3 | 캐롤 | 안녕하세요 |+----+----------+---------------------+3행 세트(0.00초)