Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 부울(Boolean) 값 업데이트하는 방법

MySQL에서 부울 값 업데이트하기

MySQL에서 부울(Boolean) 값은 내부적으로 TINYINT(1)로 저장되며, true는 1, false는 0으로 처리됩니다. 부울 값을 업데이트하려면 UPDATE 문의 SET 절을 사용하면 됩니다. 특히 NOT 연산자(!)를 활용하면 현재 값을 손쉽게 반전(토글)할 수 있습니다.

먼저 예제에 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, isMarried boolean
   );
Query OK, 0 rows affected (0.58 sec)

샘플 데이터 삽입하기

INSERT 명령을 사용하여 테이블에 몇 개의 레코드를 추가합니다.

mysql> insert into DemoTable(isMarried) values(false);
Query OK, 1 row affected (0.16 sec)

mysql> insert into DemoTable(isMarried) values(true);
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable(isMarried) values(true);
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable(isMarried) values(false);
Query OK, 1 row affected (0.13 sec)

저장된 데이터 확인하기

SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

위 쿼리는 다음과 같은 결과를 출력합니다.

+----+-----------+
| Id | isMarried |
+----+-----------+
|  1 |         0 |
|  2 |         1 |
|  3 |         1 |
|  4 |         0 |
+----+-----------+
4 rows in set (0.00 sec)

부울 값 업데이트 쿼리 실행하기

다음은 부울 값을 업데이트하는 쿼리입니다. NOT 연산자(!)를 사용하면 기존 값을 그대로 반전시킬 수 있어 매우 편리합니다.

mysql> update DemoTable set isMarried = !isMarried where Id=4;
Query OK, 1 row affected (0.17 sec)
Rows matched: 1 Changed: 1 Warnings: 0

업데이트 결과 확인하기

테이블의 레코드를 다시 한 번 조회해 보겠습니다.

mysql> select *from DemoTable;

아래 출력 결과에서 Id가 4인 행의 부울 값이 업데이트된 것을 확인할 수 있습니다.

+----+-----------+
| Id | isMarried |
+----+-----------+
| 1 | 0 |
| 2 | 1 |
| 3 | 1 |
| 4 | 1 |
+----+-----------+
4 rows in set (0.00 sec)

위 샘플 출력에서 볼 수 있듯이, Id가 4인 행의 isMarried 값이 0에서 1로 성공적으로 변경되었습니다. 이처럼 SET 컬럼명 = !컬럼명 구문을 사용하면 WHERE 조건에 해당하는 행의 부울 값을 간단하게 토글할 수 있습니다.