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

MySQL의 UNSIGNED 열에 음수 값이 삽입되면 어떻게 됩니까?

<시간/>

MySQL에서 UNSIGNED 컬럼에 음수 값을 설정하면 오류가 발생합니다. 예를 들어, 먼저 UNSIGNED 필드가 있는 테이블을 생성해 보겠습니다 -

mysql> create table UnsignedDemo
   -> (
   -> Id int UNSIGNED
   -> );
Query OK, 0 rows affected (0.79 sec)

UNSIGNED −

로 선언된 column Id에 음수 값을 삽입할 때마다 오류는 다음과 같습니다.
mysql> INSERT INTO UnsignedDemo VALUES(-100);
ERROR 1264 (22003): Out of range value for column 'Id' at row 1

예시

그러나 양수 값은 UNSIGNED에 적합합니다. 아래 예에서도 마찬가지입니다. 삽입 명령을 사용하여 위의 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -

mysql> INSERT INTO UnsignedDemo VALUES(100);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO UnsignedDemo VALUES(1000);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO UnsignedDemo VALUES(0);
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO UnsignedDemo VALUES(100000000);
Query OK, 1 row affected (0.27 sec)

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

mysql> SELECT *FROM UnsignedDemo;

출력

+-----------+
| Id        |
+-----------+
|       100 |
|      1000 |
|         0 |
| 100000000 |
+-----------+
4 rows in set (0.00 sec)