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

    Feedback

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

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

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

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

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

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

    主站蜘蛛池模板: 无码国产精品一区二区免费式直播 | 亚洲精品无码专区2| 亚洲国产成+人+综合| 怡红院免费的全部视频| av在线亚洲欧洲日产一区二区| 亚洲JLZZJLZZ少妇| 免费看国产精品3a黄的视频| 亚洲综合色一区二区三区小说| 成人性生交大片免费看好| 国产亚洲免费的视频看| 很黄很污的网站免费| 亚洲午夜久久影院| 嘿嘿嘿视频免费网站在线观看| 亚洲综合网美国十次| 毛片a级毛片免费观看免下载| 午夜在线a亚洲v天堂网2019| 成人免费毛片视频| 国产精品久久亚洲一区二区| 亚洲国产天堂久久久久久| 精品国产呦系列在线观看免费 | 成年美女黄网站18禁免费| 亚洲一久久久久久久久| 在线观看免费污视频| 国产AV无码专区亚洲AV蜜芽| mm1313亚洲国产精品美女| 羞羞视频免费网站在线看| 亚洲图片在线观看| 成年美女黄网站18禁免费| 在线观看亚洲免费视频| 久久久久久亚洲精品不卡| 桃子视频在线观看高清免费视频| 亚洲精品在线免费观看视频| 成人免费视频一区二区三区| 一级特黄色毛片免费看| 久久久亚洲AV波多野结衣| 99re在线这里只有精品免费| 日本不卡高清中文字幕免费| 成人在线免费视频| 精品日韩亚洲AV无码一区二区三区 | 久久精品国产免费| 亚洲熟妇丰满xxxxx|