<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 江天部落格 閱讀(4808) 評論(3)  編輯  收藏 所屬分類: 數據庫

    Feedback

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

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

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

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

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

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

    主站蜘蛛池模板: 美女的胸又黄又www网站免费| 亚洲成a人片77777群色| 亚洲乱码国产乱码精华| 成年女性特黄午夜视频免费看| 久久精品亚洲一区二区三区浴池| 国产免费阿v精品视频网址| 久久精品夜色噜噜亚洲A∨| 一级一级毛片免费播放| 国产亚洲大尺度无码无码专线| 国产特黄一级一片免费| 中文字幕久久亚洲一区 | 国产精品成人免费福利| 中文字幕亚洲色图| 国产1024精品视频专区免费| 亚洲人成免费电影| 在线不卡免费视频| 一级做a爰片久久免费| 亚洲AV无码国产精品麻豆天美| 午夜无码A级毛片免费视频| 久久久国产精品亚洲一区| 成人免费AA片在线观看| 亚洲国产欧美日韩精品一区二区三区 | 亚洲黄色在线播放| 亚洲欧洲免费无码| 美女扒开屁股让男人桶爽免费| av在线亚洲欧洲日产一区二区| a在线视频免费观看| 亚洲成电影在线观看青青| 好爽…又高潮了免费毛片| 一个人看的免费视频www在线高清动漫| 亚洲午夜福利精品久久| 国产在线精品免费aaa片| 亚洲自偷精品视频自拍| 日韩一级免费视频| 在线观看免费视频网站色| 亚洲精品视频在线免费| 国产成人免费福利网站| 在线涩涩免费观看国产精品| 国产成人精品日本亚洲网址 | 精品久久洲久久久久护士免费 | 久久99精品免费一区二区|