mysql 序号_利用mysql生成唯一序号

746167a81da6df4a43f347267c27421d.png

php中文网最新课程

每日17点准时技术干货分享

cc0d1f01c3451483fd144602da76d86d.png

25c752ad798da457ca70712f976fd7a1.gif

在数据库分表或者程序自己需要唯一id的情况下,我们需要一个生成唯一id的方案。

可以编写一个综合时间和某些特征生成唯一id的程序,也可以考虑使用数据库里自增id的特性来实现这个需求,下面举个mysql的例子。

首先创建一个专门生成id的表,其中id字段是主键,replace_key字段为唯一键。

CREATE TABLE `ticket` (    `id` bigint(20) unsigned NOT NULL auto_increment,    `replace_key` char(1) NOT NULL default '',    PRIMARY KEY (`id`),    UNIQUE KEY `replace_key` (`replace_key`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=10001;

每次需要生成id时,利用replace into语句生成新的记录将旧的记录替换掉,然后返回此id即可。

REPLACE INTO `ticket` (`replace_key`) VALUES ('a');SELECT LAST_INSERT_ID();

a398eb7dba7ae10c34d6e13f3b2e3df8.png

ec1e68404f70578bc56d9fa1b2f7f4cd.png

2c9bff67c3bbeaa55480782b38606e01.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值