0

我想从 tbl_Billing 中删除记录,并且我想在执行此功能时使用 LIMIT。请建议是否可以使用 INNER JOIN 或 LEFT JOIN。查询如下

DELETE
FROM tbl_Billing
WHERE `aCreated` > '2011-01-09'
AND `aStatus` ='2'
AND `aUserUnique`
IN (

SELECT aUserUnique
FROM tbl_Users AS user
WHERE user.`aBillingRenew` < date_sub( now( ) , INTERVAL 60 DAY )
AND user.aActive =1
  )
4

1 回答 1

1

我得到了答案。我们必须使用EXISTS而不是IN运算符:

DELETE
FROM tbl_Billing
WHERE `aCreated` > '2011-01-09'
AND `aStatus` ='2'
AND EXISTS 
( 
  SELECT aUserUnique
  FROM tbl_Users AS users
  WHERE users.`aBillingRenew` < date_sub( now( ) , INTERVAL 60 DAY )
  AND users.aActive ='1'
)
limit 10
于 2013-06-13T13:39:54.397 回答