0

私は2つのテーブルを持っています: users&rent

nameテーブルから選択する方法usersWHEREunixtimeが前にある2012-09-04

テーブルからの削除rentWHEREnameは前のクエリからのものです。

以下のようなものでしたが、削除クエリで結合する方法がわかりません。

SELECT * 
FROM  `pstone_cuboids` 
WHERE  `last_used` >= UNIX_TIMESTAMP(  '2012-09-04' ) 

間違っている場合は訂正してください。上記は 2012 年 9 月 3 日より前のすべてのデータ (2 日、1 日、31 日など) を選択しますか?

4

2 に答える 2

2

これはうまくいくはずです:

DELETE FROM rent WHERE name IN (
    SELECT name FROM `pstone_cuboids` 
    WHERE `last_used` >= UNIX_TIMESTAMP('2012-09-04')
)
于 2012-09-18T20:44:12.003 に答える
1

例にはテーブル名と列名が異なるため、これは単なる解釈です。

DELETE r.*
FROM `rent` r JOIN `users` u ON r.name  = p.name
WHERE  r.unixtime < '2012-09-04'

複数テーブルの削除については、ドキュメントを参照してください。

于 2012-09-18T21:25:41.057 に答える