<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
    主站蜘蛛池模板: 亚洲第一成年免费网站| 久久免费高清视频| 最近2019中文字幕免费看最新 | 成人嫩草影院免费观看| 国产一区二区免费在线| 亚洲AV无码一区二区三区久久精品| 最新中文字幕电影免费观看| 亚洲国产美女精品久久久| 在线jyzzjyzz免费视频| 爱情岛亚洲论坛在线观看| 亚洲精品色婷婷在线影院| 色多多免费视频观看区一区| 亚洲精品国产精品乱码不卡 | 亚洲精品视频在线| 久久久久久曰本AV免费免费| 久久精品国产亚洲av麻豆图片 | 97久久免费视频| 亚洲av极品无码专区在线观看| 成人五级毛片免费播放| 国产精品亚洲精品爽爽| 国产综合亚洲专区在线| 热re99久久6国产精品免费| 亚洲av片不卡无码久久| 免费国产精品视频| 国产麻豆成人传媒免费观看| 亚洲中文无码线在线观看| 日韩在线a视频免费播放| 一个人免费观看视频在线中文| 亚洲AV日韩精品久久久久久| 久草在视频免费福利| 日韩免费高清一级毛片| 亚洲av综合av一区| 24小时免费直播在线观看| 免费看黄福利app导航看一下黄色录像| 亚洲精品卡2卡3卡4卡5卡区| 在线看片v免费观看视频777| 色婷婷精品免费视频| 亚洲性猛交xx乱| 亚洲综合色自拍一区| 成人毛片免费在线观看| 97在线免费视频|