日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
mysql不同數(shù)據(jù)庫(kù)不同數(shù)據(jù)表導(dǎo)入數(shù)據(jù)

今天在一個(gè)庫(kù)里面相互到兩張表的數(shù)據(jù),我之前只會(huì)一種方法:

創(chuàng)新互聯(lián)專注于象山企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開發(fā)。象山網(wǎng)站建設(shè)公司,為象山等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

 
 
 
 
  1. INSERT INTO A SELECT * FROM B; 

這個(gè)方法的意思是將b表的所有數(shù)據(jù)全部導(dǎo)入到a表中,注意:

a、b表的數(shù)據(jù)結(jié)構(gòu)相同;

相當(dāng)于復(fù)制了b表數(shù)據(jù)到a表

這樣可以簡(jiǎn)單完成功能,但是當(dāng)需求變成這樣:

a、b表數(shù)據(jù)結(jié)構(gòu)不一樣;

或者只需導(dǎo)一部分?jǐn)?shù)據(jù)

或者導(dǎo)入數(shù)據(jù)是有重復(fù)的

這個(gè)sql就無(wú)能為力了,我們以各種情況來(lái)說(shuō)。

首先有a表,結(jié)構(gòu)如下:

 
 
 
 
  1. CREATE TABLE `table_a` ( 
  2. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵,長(zhǎng)整型,自增', 
  3. `user_id` varchar(32) DEFAULT NULL COMMENT '用戶id', 
  4. `name` varchar(50) DEFAULT NULL COMMENT '名字', 
  5. `email` varchar(30) NOT NULL COMMENT '郵箱', 
  6. PRIMARY KEY (`id`) 
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

然后是b表,結(jié)構(gòu)如下,

 
 
 
 
  1. CREATE TABLE `table_b` ( 
  2. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵,長(zhǎng)整型,自增', 
  3. `user_id` varchar(32) DEFAULT NULL COMMENT '用戶id', 
  4. `user_name` varchar(50) DEFAULT NULL COMMENT '名字', 
  5. `email` varchar(30) NOT NULL COMMENT '郵箱', 
  6. `course` varchar(30) NOT NULL COMMENT '課程', 
  7. PRIMARY KEY (`id`) 
  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

情形如下:

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

 
 
 
 
  1. INSERT INTO table_a (id,user_id,name,email) SELECT id,user_id,user_name,email FROM table_b; 

或者不需要id的情況,

 
 
 
 
  1. INSERT INTO table_a (user_id,name,email) SELECT user_id,user_name,email FROM table_b; 

如果有重復(fù)的可以使用replace into 這個(gè),但是請(qǐng)慎重使用replace,保證你對(duì)replace有足夠的了解!

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

數(shù)據(jù)部分存在為了區(qū)分需要在兩個(gè)表添加唯一索引

兩個(gè)表中分別為user_name和name字段添加唯一索引

第一種情形,

使用replace into的方式進(jìn)行導(dǎo)入數(shù)據(jù)(這里根據(jù)唯一索引進(jìn)行判斷,如果不添加唯一索引的方式,除了id主鍵不同外,其他均相同的情況下也視為相同)

第二種情形,

忽略重復(fù)的,即如果有發(fā)現(xiàn)重復(fù)的行,則跳過(guò)此行數(shù)據(jù)的插入,必須使用ignore關(guān)鍵字,

 
 
 
 
  1. INSERT IGNORE INTO table_a (id,user_id,name,email) SELECT id,user_id,user_name,email FROM table_b; 

網(wǎng)站名稱:mysql不同數(shù)據(jù)庫(kù)不同數(shù)據(jù)表導(dǎo)入數(shù)據(jù)
當(dāng)前地址:http://m.5511xx.com/article/dhioecd.html