음수를 입력할 수 없기 때문에 unsigned를 사용해야 합니다.
구문은 다음과 같습니다.
CREATE TABLE yourTableName ( yourColumnName INT UNSIGNED );
개념을 이해하기 위해 테이블을 만들어 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table OnlyPositiveValue - > ( - > Marks int UNSIGNED - > ); Query OK, 0 rows affected (0.58 sec)
테이블에 데이터를 삽입하기 전에 아래 쿼리를 사용하십시오.
쿼리는 다음과 같습니다
mysql> SET @@SESSION.sql_mode = 'STRICT_TRANS_TABLES'; Query OK, 0 rows affected, 1 warning (0.00 sec)
이제 INSERT 명령에 음수를 추가하면 다음 오류가 표시됩니다.
mysql> insert into OnlyPositiveValue values(-10); ERROR 1264 (22003): Out of range value for column 'Marks' at row 1 mysql> insert into OnlyPositiveValue values(-100); ERROR 1264 (22003): Out of range value for column 'Marks' at row 1
양수를 삽입합시다.
쿼리는 다음과 같습니다
mysql> insert into OnlyPositiveValue values(0); Query OK, 1 row affected (0.17 sec) mysql> insert into OnlyPositiveValue values(10); Query OK, 1 row affected (0.14 sec) mysql> insert into OnlyPositiveValue values(100); Query OK, 1 row affected (0.11 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다.
쿼리는 다음과 같습니다
mysql> select *from OnlyPositiveValue;
다음은 양수를 표시하는 출력입니다.
+-------+ | Marks | +-------+ | 0 | | 10 | | 100 | +-------+ 3 rows in set (0.00 sec)