MySQL의 "서명되지 않음"은 데이터 유형입니다. 어떤 열에 부호 없는 숫자를 쓸 때마다 음수를 삽입할 수 없다는 의미입니다. 매우 큰 숫자의 경우 부호 없는 유형을 사용할 수 있다고 가정합니다.
unsigned int의 최대 범위는 4294967295입니다.
Note: If you insert negative value you will get a MySQL error.
다음은 부호 없는 유형의 예시 데모입니다. 먼저 "부호 없는" 열이 있는 테이블을 만들어 보겠습니다. 아래는 테이블을 생성하는 쿼리입니다. -
mysql> create table UnsignedDemoWithPositiveValue -> ( -> Distance int unsigned -> ); Query OK, 0 rows affected (0.86 sec)
부호 없는 상한 값인 4294967295를 삽입하려고 하면 값이 범위를 벗어났기 때문에 오류가 발생합니다.
범위를 벗어난 값을 삽입하세요.
mysql> insert into UnsignedDemoWithPositiveValue values(4294967296); ERROR 1264 (22003): Out of range value for column 'Distance' at row 1
위 예시에서는 4294967296을 삽입했는데, 이는 범위를 벗어나서 오류가 발생합니다.
이제 테이블에 다른 값 4294967295를 삽입합니다.
mysql> insert into UnsignedDemoWithPositiveValue values(4294967295); Query OK, 1 row affected (0.30 sec)
위에서 쿼리가 성공적으로 실행된 것을 확인할 수 있습니다.
이제 또 다른 예를 살펴보겠습니다. 음수 레코드를 삽입하면 다음 오류가 발생합니다. -
mysql> insert into UnsignedDemoWithPositiveValue values(-124); ERROR 1264 (22003): Out of range value for column 'Distance' at row 1
이제 값이 124인 양수 값만 삽입합니다. 쿼리는 다음과 같습니다. -
mysql> insert into UnsignedDemoWithPositiveValue values(124); Query OK, 1 row affected (0.86 sec)
위와 같이 쿼리가 성공적으로 실행되었습니다.
select 문을 사용하여 레코드를 표시해 보겠습니다. 쿼리는 다음과 같습니다 -
mysql> select *from UnsignedDemoWithPositiveValue;
이것이 출력입니다 -
+------------+ | Distance | +------------+ | 4294967295 | | 124 | +------------+ 2 rows in set (0.00 sec)
위 내용은 MySQL에서 '서명되지 않음'은 무엇을 의미하며 언제 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!