mysql一條語句實現同時查詢和修改
現在想僅執行一條mysql語句得到:查詢到sid=2的使用者,然後修改gid的值為123。
簡單這樣寫:
1
update
`
user
`
set
`gid`=
'123'
where
id
in
(
select
id
from
`
user
`
where
sid=2)
肯定會報錯:
錯誤碼: 1093
you can't specify target table 'user' for update in from clause
錯誤提示就是說,不能先select出同一表中的某些值,再update這個表(在同一語句中)
解決辦法:1
update
`
user
`
as
a
inner
join
(
select
id
from
`
user
`
where
`sid`=2)
as
b
on
a.id=b.id
set
a.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...