database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 26451 게시물 읽기
No. 26451
unsignend -값 계산 했을시 문제..
작성자
kkuru
작성일
2007-03-02 14:27
조회수
1,862

CREATE TEMPORARY TABLE TMP(IDX INTEGER UNSIGNED);


INSERT TMP VALUE(1);


UPDATE TMP SET IDX=IDX-2;


SELECT * FROM TMP;


이렇게 했을시 최종 값으로 4294967294 값이 나오는데.... 너무 당연 한건 지도.


UNSIGNED의 의미가 0보다 큰값을 가질수 없다라는 의미로 이해했었는데


다시 보느 말그대로 +/- 비트를 안쓴 다는 거더군요.


질문의 요지는 2-1 을 했을 시 계산된 값이 0보다 잘을시 0 값으로 해주고 싶은데.


CHECK 같은 제약 같은게 없나요?


다음과 같이 하면 되긴 하는데.

UPDATE TMP SET IDX=1;

UPDATE TMP SET IDX=IF(IDX-2<0, 0, IDX-2);


응용 프로그램 단에 박혀 있는거라 지금 현재 수정이 불가 합니다.

DB단에서 체크할수 있는 방법 이 없을까요.

[Top]
No.
제목
작성자
작성일
조회
26454[Tip]DBDesigner4 와 mySQL5 연결하기 [1]
양천주
2007-03-02
9479
26453View도 insert, update, delete가 가능한가요? [1]
초보
2007-03-02
2382
26452mysql 4.1.20 에서 한글 지원 안됨 (??+? 이런식으로 나옴)
보리숲
2007-03-02
2464
26451unsignend -값 계산 했을시 문제..
kkuru
2007-03-02
1862
26450쿼리 캐쉬 시간을 설정할 수 있나요?
최지영
2007-03-02
1598
26449MySQL qpm
dbman_kpt
2007-03-02
1405
26448퀘리문좀 봐주세요 이상합니다.
이나영
2007-03-01
1592
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.039초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다