请问MySQL表的最大长度怎么调大,就是id可以自增至很大,比如100000

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问MySQL表的最大长度怎么调大,就是id可以自增至很大,比如100000相关的知识,希望对你有一定的参考价值。

参考技术A 如果你表中已经设为自增长了,还调什么,取决于当时建表时你所选的数据类型
你这样做下试试

set IDENTITY_INSERT 表名 ON

找到最大号,用语句插入数据插数据

SET IDENTITY_INSERT 表名 OFF

再用语句把插入的数据删除

如果还不行的话,有一个想法,根据原表的建表语句,再建一个新表,定义identity属性时注意数据类型后不要加长度限制,建好表后把原表中的数据插入新建表中,再把原表删除,把新建表改名称。
参考技术B 理论上自增是无限大的,不需人工调整
唯一受限制的就是你的磁盘,这几乎不用考虑本回答被提问者采纳
参考技术C 修改自增ID的类型为BIGINT 参考技术D 调整ID字段的类型为bigint,基本就足够你使用了,最大好像是可以19位数字,记不清了 第5个回答  2010-10-14 用auto_increment

获取mysql数据库自增id的最大值

--穿建临时表保存每个表的最大id;
CREATE TABLE `table_max_id` (
`max_id` bigint(20)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


--穿建存储过程获取每个表的最大id存储至table_max_id;

CREATE PROCEDURE get_all_maxid()
BEGIN
DECLARE tb_name varchar(50); --
DECLARE done boolean default 0; --
DECLARE cur CURSOR FOR SELECT table_name --
FROM information_schema.columns WHERE table_schema = ‘ss_dlp‘ AND column_name =‘id‘ ORDER BY table_name DESC; --
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; --
TRUNCATE table_max_id; --
OPEN cur; --
REPEAT --
FETCH cur INTO tb_name; --
SET @sql=CONCAT(‘INSERT INTO table_max_id(max_id) SELECT MAX(id) FROM ‘,tb_name); --
PREPARE stmt1 FROM @sql; --
EXECUTE stmt1 ; --
DEALLOCATE PREPARE stmt1; --
until done end repeat; --
CLOSE cur; --
END;

--穿建函数从table_max_id中获取最大id;

create function get_id()
returns int
begin
return (select IFNULL(MAX(max_id),0) as max_id from table_max_id) + 1; --
end ;

--调用存储过程及函数获取最大值
call get_all_maxid();
INSERT INTO `ss_dlp`.`login_log` (`id`, `create_time`, `is_deleted`, `update_time`, `version`, `device_name`, `fullname`, `ip`, `operation`, `type`, `username`, `error_message`, `success`)
VALUES (get_id(), ‘1577328593977‘, b‘0‘, ‘1577328593977‘, ‘0‘, NULL, ‘adimin_test‘, ‘127.0.0.1‘, ‘登录成功1‘, ‘Admin‘, ‘admin‘, NULL, b‘1‘);
 

以上是关于请问MySQL表的最大长度怎么调大,就是id可以自增至很大,比如100000的主要内容,如果未能解决你的问题,请参考以下文章

请问一下mysql是否限制了单个表的容量,能改吗

在一个数据表中,怎么查询到表中数据自增id最大的那条数据呢?

MySql 设置ID主键自增,从0开始,请问怎么设?

mysql中有2个结构一样的表,我想把两个表的交集存到另一个表中,请问怎么操作呢?

sql 两张表的联系是主表一个字段是由子表id加号拼接而成,请问怎么连

mysql数据库,我想查a表所有的字段还有b表的某一个字段,请问我要怎么做关联查询