mysql批量刪除或修改

2021-06-16 10:03:07 字數 784 閱讀 9622

mysql error code: 1093 you can't specifytarget table 'x' for update in from clause

當子查詢作為條件,執行delete跟update操作時,會出現:

error code: 1093 you can't specify targettable 'x' for update in from clause

作乙個簡單的示例:

create table tbl_a(

id int,

name varchar(50) );

insert into tbl_a values(1, 'leisure');

insert into tbl_a values(2, 'leisure2');

select * from tbl_a;

執行更新操作

update tbl_a

set id = (

select id from tbl_a

where name = 'leisure2'

)where name = 'leisure';

這時,如願見到我們標題上的錯誤,解決方法如下(橙色字體系關鍵):

update tbl_a

set id = (

select id from (

select * from tbl_a where name = 'leisure2'

) xx

)where name = 'leisure';

hibernate批量修改,批量刪除

在hibernate應用中如何處理批量更新和批量刪除?批量更新是指在乙個事務中更新大批量資料,批量刪除是指在乙個事務中刪除大批量資料。以下程式直接通過hibernate api批量更新customers表中年齡大於零的所有記錄的age欄位 tx session.begintransaction it...

hibernate批量修改,批量刪除

在hibernate應用中如何處理批量更新和批量刪除?批量更新是指在乙個事務中更新大批量資料,批量刪除是指在乙個事務中刪除大批量資料。以下程式直接通過hibernate api批量更新customers表中年齡大於零的所有記錄的age欄位 tx session.begintransaction it...

mysql批量查詢 修改表, 批量刪除儲存過程

場景 有的時候需要批量更新部分有規律的表或者修改其屬性。處理方案 使用 函式concat 來生成批量執行sql語句,再執行批量sql語句。如 批量刪除所有表 select concat drop table table name,from information schema.tables wher...