mysql bigint 20_MySQL中的类型:BigInt(20)与Int(20)

b14d530c3572184ed4612cccd219be35.png

慕盖茨4494581

据我所知,只有一个小的区别是当您试图插入超出范围的值时。在示例中,我将使用401421228216,也就是101110101110110100100011101100010111000(长度)39字符)如果你有INT(20)对于系统,这意味着在内存中分配至少20位。但是如果你要插入比2^20,它将被成功地存储,只有当它少的时候INT(32) -> 2147483647(或2 * INT(32) -> 4294967295为UNSIGNED)例子:mysql> describe `test`;+-------+------------------+------+-----+---------+-------+| Field | Type             | Null | Key | Default | Extra |+-------+------------------+------+-----+---------+-------+| id    | int(20) unsigned | YES  |     | NULL    |       |+-------+------------------+------+-----+---------+-------+1 row in set (0,00 sec)mysql> INSERT INTO `test` (`id`) VALUES (401421228216);ERROR 1264 (22003): Out of range value for column 'id' at row 1mysql> SET sql_mode = '';Query OK, 0 rows affected, 1 warning (0,00 sec)mysql> INSERT INTO `test` (`id`) VALUES (401421228216);Query OK, 1 row affected, 1 warning (0,06 sec)mysql> SELECT * FROM `test`;+------------+| id         |+------------+| 4294967295 |+------------+1 row in set (0,00 sec)如果你有BIGINT(20)对于系统,这意味着在内存中分配至少20位。但是如果你要插入比2^20,它将被成功地存储,如果它少的话BIGINT(64) -> 9223372036854775807(或2 * BIGINT(64) -> 18446744073709551615为UNSIGNED)例子:mysql> describe `test`;+-------+---------------------+------+-----+---------+-------+| Field | Type                | Null | Key | Default | Extra |+-------+---------------------+------+-----+---------+-------+| id    | bigint(20) unsigned | YES  |     | NULL    |       |+-------+---------------------+------+-----+---------+-------+1 row in set (0,00 sec)mysql> INSERT INTO `test` (`id`) VALUES (401421228216);Query OK, 1 row affected (0,04 sec)mysql> SELECT * FROM `test`;+--------------+| id           |+--------------+| 401421228216 |+--------------+1 row in set (0,00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值