1. 程式人生 > >mysql把某一列的資料更新到另一列中(涉及到多張表的資料)

mysql把某一列的資料更新到另一列中(涉及到多張表的資料)

假設有三張表A,B,C

現在要把C表中的一列資料更新到A表中,而A和C之間還有張B表。假設要把C表中的id更新到A表中,那麼就可以這樣寫:

UPDATE A A
INNER JOIN B ON A.xxx = B.xxx
INNER JOIN C ON B.xxx= C.xxx
SET A.id = C.id

其中,inner join中可以加限制條件。也可以用left join等等。

針對mysql,set必須要寫在最後。

另外,如果資料量很大,聯表更新可能會報safe的錯誤。可能需要另行解決。

相關推薦

MySQL資料庫的匯入匯出備份和還原 mysql 根據資料更新

(select * from crawlDocs order by DocCrawlTime desc limit 2000 into outfile '/tmp/weixinData' FIELDS TERMINATED BY ',';) 一般最好是匯出到/tmp目錄下,因為這樣mysql使用者也可以寫入。

MySql中用資料更新的部分資料

寫在前面 昨天本人用MySql進行簡單的資料分析的時候,遇到了一個問題——用一張表內查詢到的資料更新另一張表的部分資料。由於本人以前基本上沒有用MySql處理過資料,因而在此過程中遇到了諸多問題。先將正確的方法記錄下來,已提醒自己,同時也希望對大家有用。

mysql 條sql更新資料

<update id="deleteActor" parameterType="java.lang.String"> UPDATE actor_tbl a LEFT JOIN video_actor_tbl b ON a.sn = b.actorsn SET a.

關於mysql可重複讀的原因和幻讀的解決MVCC-版本併發控制

第三個隔離級別RR可以解決不可重複度的問題,那什麼是可重複讀: Repeatable Read(可重複讀):一個事務在執行過程中可以看到其他事務已經提交的新插入的記錄(讀已經提交的,其實是讀早於本事務開始且已經提交的),但是不能看到其他事務對已有記錄的更新(即晚於本事務開始的),並且,該事務

mysql資料更新涉及資料

假設有三張表A,B,C現在要把C表中的一列資料更新到A表中,而A和C之間還有張B表。假設要把C表中的id更新到A表中,那麼就可以這樣寫:UPDATE A AINNER JOIN B ON A.xxx = B.xxxINNER JOIN C ON B.xxx= C.xxxSET

如何oracle 使用者授予查詢一個使用者的許可權,以及更新使用者某些欄位

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

sql語句將插入到

如下兩張表student和course               現在想要將course表的cname列插入到student表中。(有兩種方法) 方法一: 語句如下: alter table stu

python資料庫 資料存入個數據庫

把'aa'資料庫中資料存入default ##############################################  student =Student.objects.using('aa').order_by('id').filter(pk__gt=1)

mysql將一個資料插入,排重,刪除,匯入

將一個表中資料插入另一張表的語句: insert into 目標表(欄位1,欄位2,欄位3……) select  欄位1,欄位2,欄位3… from 來源表 where 條件1 and 條件2; 排重很簡單,只要在需要排重的欄位前加distinct就可以嘞!eg~ 查詢記錄

MySQL使用的欄位更新的欄位

    以下寫法針對MySQL。     雖然寫子查詢也是可以實現的,不過當然應該選擇一種更有效率的方式: update table1 t1 left join table2 t2 on t1.k

SQL Update 觸發器 當本條記錄某個欄位更新後,用該記錄去更新資料

思路來源於該部落格 --SqlServer Update觸發器判斷某個欄位的值是否已經更改 https://blog.csdn.net/zhangshufei8001/article/details/51568834 create trigger [tig_update

Mysql 用一個表裡的資料 更新一個資料

需求情景,一個表裡的字典欄位,另外一個表是記錄,需要拿字典裡的記錄更新記錄裡的某些欄位項,本來想寫儲存過程的,但是看到可以直接update語句就試了一下,效率挺高,直接上sql語句;200萬條記錄1分鐘搞定;   UPDATE voter_bak a, precinct b

mysql更新用一個資料更新一個資料

用一個表中的欄位去更新另外一個表中的欄位,來看一個簡單的例子就會了: create table student ( student_id int not null

查詢資料更新

update zmt_wx_user as t1 set user_fan_count=(select t2.fans from zmt_wechat_official as t2 where t2.id < 3

Hive資料合併成一行,並插入

知識點:時間戳轉化,當前時間,左連線,查詢的欄位相同可以直接插入另一張表  insert into lqioc_ioc_dw.kkjc select a.*,b.CLL,e.JZT from (select FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy

Flash存取資料種思路

在嵌入式專案中,為了讓裝置在斷電後某些關鍵引數不丟失,比如裝置ID,網路配置,外設配置等。我們會將這些關鍵的引數儲存到片內的Flash中。一般的做法都是在Flash劃分一塊空間做儲存引數用,並且裡面有一個空間儲存一個標誌,這個標誌指示了Flash中是否儲存了有效的引數。在第一次燒錄程式時,Flash

HBase跨叢集複製資料種方法

2012-08-14 http://abloz.com date:2012.8.14 上一篇文章《hbase 複製備份資料》 中提到用工具CopyTable來在叢集間複製資料。另外還有一種更暴力的方式,來共享HBase備份表。

sql server 複製資料

insert into userstate(NUSERID,USERCODE,CREATETIME,USERSTATE,ACCOUNTSTATE,UPDATETIME,UPDATEPASSWORD) select NUSERID,USERCODE,'2018/12/13',1,0,'2018/12

kettle —— 從個數據庫抽取資料個數據庫

Kettle學習一:簡單的表輸入輸出 1.建立兩個DB連線,test和test1,分別連線兩個不同的資料庫 2.拖拽表輸入,欄位轉換,表輸出圖示到介面,並住shift鍵連線它們 3.表輸入:用於查詢出一個數據表中需要搬運的資料。 雙擊表輸入——>選擇需要搬運的資料庫

Oracle中用一個資料更新一個資料

Oracle中用一個表的資料更新另一個表的資料   有下面兩個表:將表tab1中id值與和表tab2中id值相同的行的val更新為tab2中val的值。   select * from tab1;   select * from tab2   最容易犯的錯誤是:u