0

わかりました、私の問題はこれです

自動リスティングをサポートするオークション Web サイトを持っていますが、オークションが自動リスティングされたときに古いエントリが消去されないため、php コードを記述して cronjob として実行し、2 日後にエントリをクリアするか、またはしたがって、参照されているテーブルは probid_auctions と probid_auction_media であり、列は auction_id です。probid_auction_media の列 auction_id を取り、probid_auctions の列 auction_id と比較し、一致しなかった probid_auction_media のすべてのエントリを削除したいと思います

これを今テスト中

mysql_connect($host, $username, $password);
mysql_select_db("b1396hos_database1") or die( "Unable to select database");
$db->query("DELETE * FROM  probid_auction_media 
WHERE auction_id NOT IN (SELECT DISTINCT auction_id FROM probid_auctions");
4

2 に答える 2

1

このようなクエリを使用する

DELETE
FROM probid_auction_media
WHERE auction_id NOT IN(SELECT
                      probid_auction_media.auction_id
                    FROM probid_auctions,
                      probid_auction_media
                    where probid_auctions.auction_id != probid_auction_media.auction_id);
于 2012-04-12T06:21:11.623 に答える
1
DELETE FROM probid_auction_media 
WHERE auction_id NOT IN (SELECT DISTINCT auction_id FROM probid_auctions);
于 2012-04-11T21:49:15.133 に答える