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

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

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

    Blogger Scott

    數據庫表中插入重復數據的處理

    想往表中插入一條數據,如果表中沒有該條數據才插入,如果已經存在該條數據就不插入。
    該怎么處理?

    一個比較笨的辦法,是先用select查找表中是否已經存在該數據,然后再根據返回的結果決定是否insert。這樣做一來效率會降低,二來,如果在select和insert執行期間,又有其他用戶進行了insert操作,插入了一條相同的數據,仍然會出錯。

    正確的解決方法是:
    首先,在創建表時,將不需要重復的字段設置為unique,然后在插入時,使用insert ignore語句。

    例如:(數據庫用的是mysql5)
    創建一張表用來存儲用戶:
    create table user_info
    (
       uid mediumint(10) unsigned NOT NULL auto_increment primary key,
       last_name char(20) not null,
       first_name char(20) not null,
       unique ( last_name, first_name)
    );

    插入數據:
    insert ignore into user_info (last_name,first_name) values ('x','y');
    //這樣一來,如果表中已經存在last_name='x'且first_name='y'的數據,就不會插入,如果沒有就會插入一條新數據。





    posted on 2008-08-17 16:16 江天部落格 閱讀(4807) 評論(3)  編輯  收藏 所屬分類: 數據庫

    Feedback

    # re: 數據庫表中插入重復數據的處理 2008-08-17 17:58 dell筆記本

    我一直是采用的笨辦法.  回復  更多評論   

    # re: 數據庫表中插入重復數據的處理 2008-08-18 22:41 kelch

    我還以為博主有什么其他的高招呢
    繼續加油啊  回復  更多評論   

    # re: 數據庫表中插入重復數據的處理 2008-08-26 07:12 舞命小丟

    這個方法,適用于所有數據庫嗎?  回復  更多評論   

    主站蜘蛛池模板: 久久久久亚洲AV成人片| 亚洲人成人网毛片在线播放| 亚洲乱妇老熟女爽到高潮的片| 99久久久国产精品免费牛牛 | 1000部啪啪毛片免费看| 亚洲乱码中文字幕综合| www成人免费视频| 中国内地毛片免费高清| 亚洲综合无码AV一区二区| 三年片免费观看大全国语| 国产亚洲精品自在久久| 成人免费区一区二区三区| 亚洲人成网址在线观看| 亚洲av无码专区在线观看下载| 美女一级毛片免费观看| 在线毛片片免费观看| 亚洲va久久久噜噜噜久久狠狠| 亚洲综合精品成人| 免费看国产一级特黄aa大片| 日韩亚洲人成网站| 亚洲综合日韩久久成人AV| 久久精品视频免费播放| 亚洲成AV人片久久| 日本牲交大片免费观看| 亚洲av无码成h人动漫无遮挡| 小草在线看片免费人成视久网| 亚洲国产精品不卡毛片a在线| 日韩毛片在线免费观看| 日韩一级片免费观看| 久久久青草青青亚洲国产免观| 男人的天堂av亚洲一区2区| 亚洲国产电影av在线网址| 两个人的视频www免费| 久久亚洲春色中文字幕久久久| 中文字幕人成无码免费视频| 国产亚洲婷婷香蕉久久精品 | 国产成人亚洲毛片| 在线观看特色大片免费视频| 亚洲国产精品成人综合色在线| 91嫩草国产在线观看免费| 老子影院午夜伦不卡亚洲|