> 데이터 베이스 > MySQL 튜토리얼 > 大区中分配玩家唯一ID的办法_MySQL

大区中分配玩家唯一ID的办法_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-01 13:38:03
원래의
1240명이 탐색했습니다.

bitsCN.com


大区中分配玩家唯一ID的办法

 

Mysql中除了使用auto_increment字段作为自增序号以外 还有另外一种办法 可以提供
唯一序列号并且可以由一张表完成对多个序列要求的满足。  

 

大致如下:

1。创建一个简单表 

   create table SeqTab

   ( iSeqNo int not null default 0,

     iSeqType int not null default 0);

 

2。插入一调记录

   insert into SeqTab values(0,13);  // 0表示SeqNo初始值,13为SeqType,同一张表可对
多个应用提供Seq序列服务

 

3。不管多进程 or 单进程对SeqTab表同时进行访问,使用一下方法获取序列号

   1st->update SeqTab set iSeqNo=last_insert_id(iSeqNo+1) where iSeqType=13;

   2nd->select last_insert_id();

 

4。因多进程对SeqTab同时访问,进行update SeqTab set iSeqNo=last_insert_id(iSeqNo+1);时,
数据库保证了update的事务

完整性,且last_insert_id()是与当前mysql连接相关的,所以多进程同时使用时,也不会冲突。

 

bitsCN.com
관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿