SET를 사용하여 값을 줄이고 WHERE를 사용하여 특정 레코드에 대한 조건을 0으로 설정합니다. 먼저 테이블을 생성하겠습니다 -
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Number int ); Query OK, 0 rows affected (0.54 sec)
삽입 명령 &빼기
를 사용하여 테이블에 일부 레코드 삽입mysql> insert into DemoTable(Number) values(10); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable(Number) values(20); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable(Number) values(1); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable(Number) values(0); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable(Number) values(-1); Query OK, 1 row affected (0.39 sec)
select 문을 사용하여 테이블의 모든 레코드 표시 -
mysql> select *from DemoTable;
이것은 다음과 같은 출력을 생성합니다 -
+----+--------+ | Id | Number | +----+--------+ | 1 | 10 | | 2 | 20 | | 3 | 1 | | 4 | 0 | | 5 | -1 | +----+--------+ 5 rows in set (0.00 sec)
다음은 값을 0 −
으로 줄이는 쿼리입니다.mysql> update DemoTable set Number = Number-1 where Id = 3 AND Number > 0; Query OK, 1 row affected (0.20 sec) Rows matched: 1 Changed: 1 Warnings: 0
테이블 레코드를 다시 한 번 표시해 보겠습니다. −
mysql> select *from DemoTable;
그러면 다음과 같은 출력이 생성됩니다. 이제 ID가 3인 레코드는 1 감소했기 때문에 0입니다 -
+----+--------+ | Id | Number | +----+--------+ | 1 | 10 | | 2 | 20 | | 3 | 0 | | 4 | 0 | | 5 | -1 | +----+--------+ 5 rows in set (0.00 sec)