国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

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

2020-01-18 22:48:44
字體:
供稿:網(wǎng)友

背景

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

數(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需要符合某個(gè)條件
下面分幾種情況來寫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,saltFROM `A`.`users`WHERE regdate>1418313600

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

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

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

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

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

忽略重復(fù)

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

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

部分更新

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

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

總結(jié)

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

疑問

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

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 容城县| 牡丹江市| 广安市| 栾川县| 友谊县| 南城县| 商水县| 开鲁县| 宾阳县| 长宁县| 贵溪市| 永定县| 右玉县| 德钦县| 安丘市| 保定市| 曲靖市| 喀喇沁旗| 江川县| 营口市| 新龙县| 庆城县| 莱西市| 平阳县| 商水县| 九江县| 盐城市| 巫山县| 连平县| 湖口县| 武强县| 保亭| 长宁县| 霞浦县| 合山市| 轮台县| 绥芬河市| 任丘市| 文化| 寻甸| 安塞县|