delete from 使用子查詢的限制

2021-08-17 22:01:25 字數 404 閱讀 4324

在使用 mysql 進行 delete from 操作時,如果子查詢中 from子句 和更新/刪除物件使用同一張表就會出錯。

例:    delete from 表名 

where f_1 in 

(select f_1 from t_1 group by f_2);

error 1093 (hy000): you can't specify target table 'test3' for update in from clause

撇開效率不談,可以多加一層select 來執行:

改正:    delete from 表名 

where f_1 in 

(select t.f_1 from (select * from t_1 group by f_2) as t );

使用子查詢

2019 08 07 列出訂購物品tnt2的所有客戶,應該怎樣檢索?訂單表orders中儲存訂單號 客戶id 訂單日期 各訂單的物品儲存在相關的orderitems表中。mysql select cust name,cust contact from customers where cust id ...

mysql update使用子查詢

今天我像以前操作oracle寫了乙個update sql update device user a set a.scene id null where a.id not in select min t.id from device user t group by t.device id 根據子查詢的...

My SQL 使用子查詢

在關係型資料庫中,關係表是把資訊分解成多個表,一類資料乙個表,各表通過某些常用的值互相關聯。在乙個表中通常有乙個外來鍵,包含了和他有關係的表的主鍵,定義了兩個表之間的關係。這裡我們使用兩個表orders和orderitems為例,內容如下 可以看到這兩張表有關聯的是列order item列。想要獲得...