mysql怎么把随机生成的id改成自动增长的id

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql怎么把随机生成的id改成自动增长的id相关的知识,希望对你有一定的参考价值。

参考技术A SELECT concat(concat(concat(concat(concat(concat(concat(concat(concat(concat("",substring('abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789',floor(1+rand()*62),1)),substring('abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789',floor(1+rand()*62),1)),substring('abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789',floor(1+rand()*62),1)),substring('abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789',floor(1+rand()*62),1)),substring('abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789',floor(1+rand()*62),1)),substring('abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789',floor(1+rand()*62),1)),substring('abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789',floor(1+rand()*62),1)),substring('abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789',floor(1+rand()*62),1)),substring('abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789',floor(1+rand()*62),1)),substring('QWERTYUIOPASDFGHJKLZXCVBNMabcdefghijklmnopqrstuvwxyz0123456789',floor(1+rand()*62),1)) as key 参考技术B 设计表的时候 选择主键、递增就行了 参考技术C 把最大值select出来
然后
alter table 表名 AUTO_INCREMENT=1136(最大值+1);
参考技术D 同上楼

mysql 在插入数据时,怎么样做到自动生成16位唯一的ID?

mysql 在插入数据时,怎么样做到自动生成16位唯一的ID?是写触发器实现还是mysql有自带的功能或字段?

使用触发器
在一条insert语句触发时,使用SELECT md5(RAND() + new.id);可以生成32位唯一的ID。
修改就行了
参考技术A 1、md5加密,然后截取16位,不是数字。
2、查询当前的unix_timstamp=10位,然后concat连接一个数字串如000000,保证为16位数字,唯一。
3、默认id从16位开始,采用bigint类型,不推荐。
参考技术B 自增长字段是会一直累加上去的,不会因为记录删除而填回原来的记录,因为数据库要保证记录的唯一性,如果你要从1开始,你可以删除自增长字段,再重新加入,则会自己从1开始,也可以用命令进行重新编号 参考技术C 借助php或者jsp
插入的时候生成一个16位的id 插入进去本回答被提问者采纳

以上是关于mysql怎么把随机生成的id改成自动增长的id的主要内容,如果未能解决你的问题,请参考以下文章

mysql主键生成策略 自动增长

Navicat for MySQL怎么将设置成外键的ID设置自动增长

mysql数据库怎么让id自动增长,但ID不是主键。难道只有ID为主键时,才可以自增的么?

Mysql数据库自增长如何设置?

mysql表主键从给定值开始自动增长是怎么回事?

mysql表主键从给定值开始自动增长是怎么回事?