0

私はこのmysqlクエリを持っています

select 
  id,
  FROM_UNIXTIME(`placedate`) as placedate_mysqldate  
from 
  orders  HAVING placedate_mysqldate  < '2011-08-01 00:00:00' 

そのため、クエリは約 1000 レコードを返し、同じクエリ ステートメントでそれを削除したいと考えています。

placedate_mysqldateはユーザー定義であり、データベースに存在しないため、次のような通常の削除ステートメントは使用できません

delete * from orders where placedate_mysql < '2011-08-01 00:00:00'

それを行う方法はありますか?

4

2 に答える 2

1

msarchet が私に考えを与えた後、SQL クエリは

delete from orders where FROM_UNIXTIME(placedate) < '2011-08-01 00:00:00'
于 2011-09-23T10:57:48.150 に答える
0
Delete * From orders 
  Where id in (select 
    id
  from 
    orders  HAVING FROM_UNIXTIME(`placedate`)  < '2011-08-01 00:00:00')

照会した結果セット内の ID の場所を削除します。

于 2011-09-04T22:59:29.990 に答える