网站关键字个数,wordpress页面添加,设计网站大全扣西湖南岚鸿首选,中国网络教育云平台免费网课自增id用完怎么办#xff1f;
表定义自增值id 定义#xff1a;表结构定义里的自增字段#xff0c;如自增主键id。上限#xff1a;无符号整型(unsigned int)的上限是2^32-1#xff08;4294967295#xff09;。行为#xff1a;当自增值达到上限后#xff0c;再申请下一个…自增id用完怎么办
表定义自增值id 定义表结构定义里的自增字段如自增主键id。上限无符号整型(unsigned int)的上限是2^32-14294967295。行为当自增值达到上限后再申请下一个id时值保持不变导致插入数据时报主键冲突错误。建议如果表可能达到上限应创建成8个字节的bigint unsigned。 InnoDB系统自增row_id 定义InnoDB为没有指定主键的表创建的不可见的6字节row_id。上限实际写入表中的row_id值范围是从0到2^48-1。行为当row_id达到上限后下一个值归0再重新递增可能导致后写的数据覆盖之前的数据。建议在InnoDB表中主动创建自增主键以避免数据覆盖。 Xid 定义MySQL内部用来对应事务的全局变量global_query_id。上限8字节无符号整型的上限是2^64-1。行为理论上可能出现同一个binlog文件里出现相同Xid的场景但概率极小。保证MySQL重启后会生成新的binlog文件保证同一个binlog文件里Xid唯一。 InnoDB的trx_id 定义InnoDB内部维护的事务id。上限8字节无符号整型的上限是2^64-1。行为只读事务不分配trx_id减少申请次数但可能导致max_trx_id达到上限后出现脏读bug。脏读bug当max_trx_id达到上限后事务id从0开始计数导致系统出现脏读。 thread_id 定义MySQL中最常见的自增id用于标识连接线程。上限4字节无符号整型的上限是2^32-1。行为达到上限后重置为0但通过唯一数组逻辑保证不会出现相同的thread_id。 小结 表的自增id达到上限后报主键冲突错误。row_id达到上限后归0再递增可能导致数据覆盖。Xid理论上可能出现重复值但概率极小。InnoDB的max_trx_id达到上限后可能出现脏读bug。thread_id处理得最好不会出现重复值。