社区
Web 开发
帖子详情
问个很菜的问题, mysql用int类型做主键,让其自增,会增爆吗?
我在肖申克
2011-01-21 10:44:04
让int类型的id自增, 会不会有一天增到int的最大值, 最后再也增不了, 会有这一天么?
现在的id已经为500多了
...全文
555
4
打赏
收藏
问个很菜的问题, mysql用int类型做主键,让其自增,会增爆吗?
让int类型的id自增, 会不会有一天增到int的最大值, 最后再也增不了, 会有这一天么? 现在的id已经为500多了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
我在肖申克
2011-01-21
打赏
举报
回复
谢谢楼上的两位, 我算了下, 现在每天大约增长200条记录(估计后期的增长量能达到1000)
2,147,483,647行能撑很久了
wangzhuoyan
2011-01-21
打赏
举报
回复
你是维护不到增爆那天了
wwwtyb
2011-01-21
打赏
举报
回复
mysql
int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节
除非你存储过2,147,483,647行数据否则不会增爆
Epiphone
2011-01-21
打赏
举报
回复
mysql的自增长的ID(int)不够用了,则改用bigInt
Mysql中:
INT[(M)] [UNSIGNED] [ZEROFILL]
一个正常大小整数。有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
一个大整数。有符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到
18446744073709551615
浅谈
MySQL
中的
自增
主键
用完了怎么办
在面试中,大家应该经历过如下场景 面试官:”用过
mysql
吧,你们是用
自增
主键
还是UUID?” 你:”用的是
自增
主键
” 面试官:”为什么是
自增
主键
?” 你:”因为采用
自增
主键
,数据在物理结构上是顺序存储,性能最好,blabla…” 面试官:”那
自增
主键
达到最大值了,用完了怎么办?” 你:”what,没复习啊!!” (然后,你就可以回去等通知了!) 这个
问题
是一个粉丝给我提的,我觉得挺有意(KENG)思(B)! 于是,今天我们就来谈一谈,这个
自增
主键
用完了该怎么办! 正文 简单版 我们先明白一点,在
mysql
中,
Int
整型的范围如下 我们以无符号
MySQL
的
自增
ID(
主键
) 用完了的解决方法
在
MySQL
中用很多
类型
的
自增
ID,每个
自增
ID 都设置了初始值。一般情况下初始值都是从 0 开始,然后按照一定的步长增加(一般是
自增
1)。一般情况下,我们都是用
int
(11)来作为数据表的
自增
ID,在
MySQL
中只要定义了这个数的字节长度,那么就
会
有上限。
MySQL
的
自增
ID(
主键
) 用完了,怎么办? 如果用
int
unsigned (
int
,4个字节 ), 我们可以算下最大当前声明的
自增
ID最大是多少,由于这里定义的是
int
unsigned,所以最大可以达到2的32幂次方 – 1 = 4294967295。 这里有个小技巧,可以在创建表的时候,直接声明AUTO_IN
MySQL
8新特性:
自增
主键
的持久化详解
前言
自增
主键
没有持久化是个比较早的bug,这点从其在官方bug网站的id号也可看出(https://bugs.
mysql
.com/bug.php?id=199)。由Peter Zaitsev(现Percona CEO)于2003年提出。历史悠久且臭名昭著。 首先,直观的重现下。
mysql
> create table t1(id
int
auto_increment primary key); Query OK, 0 rows affected (0.01 sec)
mysql
> insert
int
o t1 values(null),(null),(null); Query OK, 3
oracle迁移
mysql
自增
序列
问题
问题
说明: 今天从oracle迁移数据到
mysql
碰到个需求:原先的
主键
字段需要改成
mysql
中的
自增
字段,而且原先数据的值不能变,以后新插入的值从原先数据最大的值开始
自增
。 解决办法: 构建环境:
mysql
> CREATE TABLE test -> ( -> id
INT
UNSIGNED NOT NULL PRIMARY KEY, -> username VARCHAR(15) NOT NULL -> ); Query OK, 0 rows affected (0.00 sec)
mysql
> insert
int
o test values(5,'t
mysql
修改
自增
长
主键
int
类型
为char
类型
示例
原来有一个表中的
主键
是
int
自增
长
类型
, 因为业务变化需要把
int
改成char
类型
的
主键
。同时因为原来的表中已经存在了数据,不能删除表重建,只能修改表结构。 首先去掉
自增
长属性: alter table table_name change indexid indexid
int
; 然后去掉
主键
: ALTER TABLE table_name DROP primary key; 修改表结构为char
类型
: alter table table_name change indexid indexid char(18); 最后重新添加
主键
: alter table table_name ad
Web 开发
81,092
社区成员
341,718
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章