<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 閱讀(1351) 評論(0)  編輯  收藏 所屬分類: mysql
    主站蜘蛛池模板: g0g0人体全免费高清大胆视频| 亚洲五月丁香综合视频| 添bbb免费观看高清视频| 免费看少妇作爱视频| 久久水蜜桃亚洲AV无码精品| 午夜寂寞在线一级观看免费| 亚洲综合精品第一页| 日韩电影免费在线| 免费国产va在线观看| 亚洲性久久久影院| 免费国产污网站在线观看| 久久久久久久久亚洲| 1000部免费啪啪十八未年禁止观看 | 亚洲欧美日本韩国| 成人爱做日本视频免费| 在线视频亚洲一区| 久久精品国产亚洲AV| 免费萌白酱国产一区二区| 人人爽人人爽人人片A免费 | 一级毛片完整版免费播放一区| 亚洲国产精品综合久久网络| 久久免费观看视频| 亚洲电影免费观看| 免费视频中文字幕| 一级做a爰片久久毛片免费陪 | 亚洲成av人在线视| 日韩精品免费一级视频| 亚洲午夜成人精品无码色欲| 全部免费毛片在线| 久久精品私人影院免费看| 日韩亚洲产在线观看| 亚洲色欲久久久久综合网| 99在线热视频只有精品免费| 日本亚洲色大成网站www久久| 亚洲AV无码成H人在线观看| 免费高清国产视频| 国产AV无码专区亚洲AWWW | 久久亚洲色一区二区三区| 99久久99久久精品免费观看| 亚洲性色AV日韩在线观看| 国产综合精品久久亚洲|