【问题标题】:Compare 2 Mysql Columns in different tables and delete比较不同表中的2个Mysql列并删除
【发布时间】:2012-04-11 21:46:14
【问题描述】:

好的,我的问题是这样的

我有一个支持自动上架的拍卖网站,但是当拍卖自动上架时,它不会清除旧条目,所以我打算编写一些 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");

【问题讨论】:

  • 您应该向我们展示您的尝试,以便我们从那个起点为您提供指导。
  • 这是我现在要测试的 mysql_connect($host, $username, $password); mysql_select_db("b1396hos_database1") or die("无法选择数据库"); $db->query("DELETE * FROM probid_auction_media WHERE auction_id NOT IN (SELECT DISTINCT auction_id FROM probid_auctions");

标签: php mysql compare


【解决方案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);

【讨论】:

    【解决方案2】:
    DELETE FROM probid_auction_media 
    WHERE auction_id NOT IN (SELECT DISTINCT auction_id FROM probid_auctions);
    

    【讨论】:

    • 这似乎不起作用,这个的 php 版本是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 2023-03-07
    • 1970-01-01
    • 2021-08-09
    相关资源
    最近更新 更多