본문 바로가기

DB 모음/MySQL

MySQL unsigned 간단 사용

728x90
반응형
SMALL


MySQL에서 UNSIGNED는 데이터 타입의 속성으로 해당 숫자 타입의 열이 음수를 허용하지 않는다.

0과 양의 정수만을 허용,  UNSIGNED 속성은 주로 TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, FLOAT, DOUBLE, DECIMAL 같은 숫자 데이터 타입과 함께 사용된다.

특징
음수 허용 안 됨: UNSIGNED로 선언된 열은 음수 값을 저장할 수 없다.
양수 범위 확장: 같은 데이터 타입의 기본 범위보다 더 큰 양수 범위를 사용할 수 있다.

 


 기본 INT와 UNSIGNED INT 비교

 

※ 기본 INT

    - 범위: -2,147,483,648 ~ 2,147,483,647

 

UNSIGNED INT

    - 범위: 0 ~ 4,294,967,295

 

 

 

 

 

예시

CREATE TABLE users (
    user_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    age TINYINT UNSIGNED
);

 -- user_id: UNSIGNED INT, 자동 증가 값으로 음수가 필요 X
 -- age: UNSIGNED TINYINT, 나이는 음수가 될 수 없으므로 적합

 

 

 

-- 테스트 테이블
CREATE TABLE `test` (
  `test_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'test ID',
  `test_title` varchar(200) DEFAULT NULL COMMENT 'test명',
  `test_content` longtext DEFAULT NULL COMMENT 'test내용',
  `test_start_dt` datetime DEFAULT NULL COMMENT 'test 시작일',
  `test_end_dt` datetime DEFAULT NULL COMMENT 'test 종료일',
  `test_yn` char(1) DEFAULT NULL COMMENT 'test 사용여부',
  PRIMARY KEY (`test_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='test 정보';

 

728x90
반응형
LIST