어떤 테이블을 만들때 type을 bigint라고 주었습니다.
bigint는 20byte를 사용한다는 것으로 알고 있고 처리할 수 있는 정수값이 정확히는 몰라도 100억보다는 훨씬 큰것으로 알고 있습니다.
그런데 4599999999 보다 큰수를 insert하면 엉뚱한 값으로 처리되네요.
다음은 제가 테스트 해본 결과 입니다.
mysql> create table mytest ( myint bigint );
Query OK, 0 rows affected (0.02 sec)
mysql> describe mytest;
+-------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| myint | bigint(20) | YES | | NULL | |
+-------+------------+------+-----+---------+-------+
1 row in set (0.00 sec)
mysql> insert into mytest values ( 5000000000 );
Query OK, 1 row affected (0.00 sec)
mysql> select * from mytest;
+-----------+
| myint |
+-----------+
| 705032704 |
+-----------+
1 row in set (0.00 sec)
mysql> insert into mytest values (4599999999 );
Query OK, 1 row affected (0.00 sec)
mysql> select * from mytest;
+------------+
| myint |
+------------+
| 705032704 |
| 4599999999 |
+------------+
2 rows in set (0.00 sec)
이에 대하여 아시는 분 계신나요?
답변 부탁드립니다.
|