最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql不同數(shù)據(jù)庫不同數(shù)據(jù)表導(dǎo)入數(shù)據(jù)

 更新時間:2015年07月29日 12:37:10   投稿:hebedich  
這篇文章主要介紹了mysql不同數(shù)據(jù)庫不同數(shù)據(jù)表導(dǎo)入數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下

背景

現(xiàn)在我有這么一個需求:

數(shù)據(jù)庫A的user表需要導(dǎo)入到數(shù)據(jù)庫B的account表
user表字段:uid,username,email,password,regdate,salt
account表字段:id,name,email,password,type,salt
導(dǎo)入的字段只有username,email,password,salt,并且regdate需要符合某個條件
下面分幾種情況來寫sql,主要區(qū)分insert into和replace into

情況

導(dǎo)入的數(shù)據(jù)在B庫的表中完全不存在

直接insert into就好,使用replace into效果一樣

INSERT INTO `B`.`account`(NAME,PASSWORD,email,salt)
SELECT username,PASSWORD,email,salt
FROM `A`.`users`
WHERE regdate>1418313600

導(dǎo)入的數(shù)據(jù)部分存在

數(shù)據(jù)部分存在為了區(qū)分需要在兩個表添加唯一索引,這個唯一索引(UNIQUE)必須是導(dǎo)入的字段里面的值
我在兩個表中分別為username和name字段添加唯一索引
直接替換

replace into在操作的時候如果兩表數(shù)據(jù)重復(fù)(必須定義UNIQUE),會先刪掉那一行(注意是一整行),然后再執(zhí)行insert into

造成的后果就是,account表中的type字段如果原來有值,會直接刪掉,并重新插入,即變成默認值了

REPLACE INTO `B`.`account`(NAME,PASSWORD,email,salt)
SELECT username,PASSWORD,email,salt
FROM `A`.`users`
WHERE regdate>1418313600

忽略重復(fù)

用IGNORE關(guān)鍵字,如果遇到重復(fù),不會操作當(dāng)前行

INSERT IGNORE INTO `B`.`account`(NAME,PASSWORD,email,salt)
SELECT username,PASSWORD,email,salt
FROM `A`.`users`
WHERE regdate>1418313600

部分更新

比如果只想更新password和salt字段,可以用ON DUPLICATE KEY UPDATE

INSERT INTO `B`.`u_account`(NAME,PASSWORD,email,salt)
SELECT username,PASSWORD,email,salt
FROM `A`.`bbs_ucenter_members`
WHERE regdate>1418313600 ON DUPLICATE KEY UPDATE PASSWORD=VALUES(PASSWORD),salt=VALUES(salt)

總結(jié)

replace into比較暴力,網(wǎng)上也有說慎重使用的,最好用insert into代替

疑問

以上的操作是兩個數(shù)據(jù)庫在同一臺服務(wù)器上的,直接一條sql就可以搞定
假如要導(dǎo)的兩個庫在不同的兩個服務(wù)器上要怎么做???
目前暫時的辦法:
將A庫中的user表導(dǎo)入到B庫所在的另一臺服務(wù)器上,然后寫一條sql搞定
或者查詢出指定數(shù)據(jù),導(dǎo)出sql,在sql中將insert into替換為insert ignore into(有局限性)

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

最新評論

阿城市| 清涧县| 应用必备| 买车| 方山县| 达孜县| 荃湾区| 琼中| 河南省| 长岛县| 阿巴嘎旗| 横山县| 容城县| 巴塘县| 镇沅| 内乡县| 彭阳县| 宜宾市| 调兵山市| 延庆县| 大洼县| 随州市| 阿图什市| 罗定市| 冷水江市| 芮城县| 公主岭市| 汤阴县| 林州市| 梓潼县| 东平县| 逊克县| 赞皇县| 乌鲁木齐县| 栾城县| 曲麻莱县| 手游| 临沭县| 游戏| 凤凰县| 搜索|