MySQL에서 '서명되지 않음'은 무엇을 의미하며 언제 사용합니까?

王林
풀어 주다: 2023-09-17 15:29:02
앞으로
1613명이 탐색했습니다.

MySQL 中的“unsigned”是什么意思以及何时使用它?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿