<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0
    http://lztian.com/blog/5921.html

    借用MySQL 的 auto_increment 特性可以產生唯一的可靠ID。

    表定義,關鍵在于auto_increment,和UNIQUE KEY的設置:

    1
    2
    3
    4
    5
    6
    CREATE TABLE `Tickets64` (
      `id` bigint(20) unsigned NOT NULL auto_increment,
      `stub` char(1) NOT NULL default '',
      PRIMARY KEY  (`id`),
      UNIQUE KEY `stub` (`stub`)
    ) ENGINE=MyISAM

    需要使用時,巧用replace into語法來獲取值,結合表定義的UNIQUE KEY,確保了一條記錄就可以滿足ID生成器的需求:

    1
    2
    REPLACE INTO Tickets64 (stub) VALUES ('a');
    SELECT LAST_INSERT_ID();

    以上方式中,通過MySQL的機制,可以確保此ID的唯一和自增,且適用于多并發的場景。官方對此的描述:https://dev.mysql.com/doc/refman/5.0/en/information-functions.html

    1
    2
    3
    It is multi-user safe because multiple clients can issue the UPDATE statement and
    get their own sequence value with the SELECT statement (or mysql_insert_id()),
    without affecting or being affected by other clients that generate their own sequence values.

    需要注意的是,若client采用PHP,則不能使用mysql_insert_id()獲取ID,原因見《mysql_insert_id() 在bigint型AI字段遇到的問題》:http://kaifage.com/notes/99/mysql-insert-id-issue- with-bigint-ai-field.html。

    Flickr 采取了此方案: http://code.flickr.net/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/

    相關:

    http://www.zhihu.com/question/30674667

    http://my.oschina.net/u/142836/blog/174465

    posted on 2016-06-28 18:48 SIMONE 閱讀(1338) 評論(0)  編輯  收藏 所屬分類: mysql
    主站蜘蛛池模板: 99久久免费中文字幕精品| 精品免费国产一区二区| 亚洲冬月枫中文字幕在线看 | 在线观看特色大片免费视频| 国产亚洲精品AAAA片APP| 国产AV无码专区亚洲AWWW| 人成午夜免费视频在线观看| 免费一区二区三区在线视频| 亚洲午夜久久影院| 四虎影视永久免费观看| 无码人妻一区二区三区免费看 | 亚洲国产精品综合久久网各| 午夜亚洲福利在线老司机| 最近免费最新高清中文字幕韩国 | 亚洲国产精品无码久久一区二区| 四虎永久在线观看免费网站网址 | 在线观看亚洲免费| 最近2019免费中文字幕视频三| 美女一级毛片免费观看| 亚洲精品成人久久| 亚洲日本一区二区三区在线| 浮力影院第一页小视频国产在线观看免费 | 亚洲人成电影亚洲人成9999网 | 国产午夜亚洲精品国产| 国产亚洲精品岁国产微拍精品| 妞干网手机免费视频| 免费视频一区二区| 无码人妻一区二区三区免费视频| 亚洲最大成人网色香蕉| 亚洲好看的理论片电影| 亚洲国产中文v高清在线观看| 啦啦啦中文在线观看电视剧免费版 | 在线观看av永久免费| 久久久久国色av免费看| 一区二区三区精品高清视频免费在线播放 | 国产亚洲精品成人a v小说| 国产无遮挡又黄又爽免费视频 | 999国内精品永久免费视频| 中文字幕在线免费看线人| 免费VA在线观看无码| 亚洲成av人无码亚洲成av人|