(原)使用mysql实现全局id

  • 作者:scsidisk
  • 最后编辑:2014年03月06日
  • 标签: MySQL

mysql分表的时候经常需要全局id保证多个表中的数据使用不重复的编号。 下面的方法可以很好的满足要求。

1. 创建表

CREATE TABLE `tbl_globle_id` (
  `name` char(64) NOT NULL COMMENT '应用名称',
  `value` bigint(20) unsigned NOT NULL DEFAULT '1' COMMENT '统一id',
  PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='全局 统一id'

2. 更新值

UPDATE tbl_globle_id SET value=LAST_INSERT_ID(value+1) where name='app1'

3. 取得自己最后更新的值

select LAST_INSERT_ID()