【问题标题】:MySQL UPDATE only if field in other table meets conditionMySQL UPDATE 仅当其他表中的字段满足条件时
【发布时间】:2012-06-23 01:16:24
【问题描述】:

我在尝试完成此操作时遇到了一些麻烦。以下是我需要做的要点:

UPDATE links SET
 link = '$link', rid = $rid, order = $order
WHERE lid = $lid
IF (SELECT COUNT(*) FROM resources WHERE rid = $rid AND (sid = $sid OR sid IS NULL) AND types IS NULL) == 1;

所以基本上,当且仅当资源表中的资源与站点 (sid) 关联或不与任何特定站点关联且类型为空时,我才想运行 UPDATE。

我想我可以运行一个 PHP 条件语句,但如果我可以用一个查询来执行此操作会更好。有可能吗?

提前谢谢!

【问题讨论】:

    标签: mysql sql if-statement conditional


    【解决方案1】:
    UPDATE links
    SET link = '$link', rid = $rid, order = $order
    WHERE lid = $lid
    and (SELECT COUNT(*) 
        FROM resources 
        WHERE rid = $rid 
        AND (sid = $sid OR sid IS NULL) 
        AND types IS NULL) = 1;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-06
      • 2013-01-31
      • 2017-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-05
      相关资源
      最近更新 更多