MySQL一條語句實現同時查詢和修改

2021-08-14 11:37:53 字數 1047 閱讀 8736

mysql一條語句實現同時查詢和修改

現在想僅執行一條mysql語句得到:查詢到sid=2的使用者,然後修改gid的值為123。

簡單這樣寫:

1

update`user`set`gid`='123'whereidin(selectidfrom`user`wheresid=2)

肯定會報錯:

錯誤碼: 1093

you can't specify target table 'user' for update in from clause

錯誤提示就是說,不能先select出同一表中的某些值,再update這個表(在同一語句中)
解決辦法:

1

update`user`asainnerjoin(selectidfrom`user`where`sid`=2)asbona.id=b.idseta.gid='123'

MySql 一條查詢SQL語句的執行

這個的快取不是指redis,或者mybatis的快取我們常見的快取,其實mysql自帶了快取模組,但是我們幾乎從來沒有用過他,甚至在mysql8.0直接就給去掉了,所以一定有他的侷限性,大家可以查閱一下,但是確實是存在的。如果開啟的話,所以乙個查詢sql先會查詢快取 我們沒有使用快取的話,就會跳過快...

ORACLE SQL一條語句同時插入多個表

今天在網上看到乙個貼子,用一條語句,將資料同時插入多個表中,覺得很新奇,就自己練了一下,將語句記錄下來 step1 建立三個表,用於實驗測試 create table t table object id number,object name varchar2 128 object type varc...

mysql一條語句update多條記錄

通常情況下,我們會使用以下sql語句來更新字段值 update mytable set myfield value where other field other value 但是,如果你想更新多行資料,並且每行記錄的各字段值都是各不一樣,你會怎麼辦呢?剛開始你可能會想到使用迴圈執行多條update...