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...