Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql,根据选择的结果进行更新_Mysql - Fatal编程技术网

mysql,根据选择的结果进行更新

mysql,根据选择的结果进行更新,mysql,Mysql,我正在尝试执行类似的操作: UPDATE page_results SET cache_valid=0 WHERE link_id IN (SELECT DISTINCT l.link_id FROM link_results AS l INNER JOIN page_results AS p ON p.link_id=p.link_id WHERE has_no

我正在尝试执行类似的操作:

              UPDATE page_results
          SET cache_valid=0
          WHERE link_id IN (SELECT  DISTINCT  l.link_id
          FROM link_results AS l
          INNER JOIN page_results AS p ON p.link_id=p.link_id 
          WHERE has_no_robots=0 AND cache_valid=1 AND cache_to_expire=1 AND status_code!='404' AND  href!='' AND anchor_match!='' AND nofollow=0)
基本上,我想更新从派生表中获取的所有结果

我的另一个解决方案是:

              UPDATE (SELECT  DISTINCT  l.link_id
          FROM link_results AS l
          INNER JOIN page_results AS p ON p.link_id=p.link_id 
          WHERE has_no_robots=0 AND cache_valid=1 AND cache_to_expire=1 AND status_code!='404' AND  href!='' AND anchor_match!='' AND nofollow=0) 
          SET cache_valid=0

但这也不起作用。。有什么方法可以实现我的目标吗?

这是因为错误的条件
p.link\u id=p.link\u id
关于join子句,请尝试以下查询:

  UPDATE page_results p
         INNER JOIN link_results l
             ON p.link_id = l.link_id
  SET   p.cache_valid = 0
  WHERE has_no_robots = 0 AND
        cache_valid = 1 AND 
        cache_to_expire = 1 AND
        status_code != '404' AND
        href != '' AND
        anchor_match != '' AND
        nofollow = 0;

以下是执行此操作的正确语法:

UPDATE page_results t1
INNER JOIN link_results AS l ON t1.link_id = l.link_id 
SET t1.cache_valid = 0
WHERE t1.has_no_robots   = 0 
  AND t1.cache_valid     = 1 
  AND t1.cache_to_expire = 1 
  AND t1.status_code    != '404' 
  AND t1.href!           = '' 
  AND t1.anchor_match   != '' 
  AND t1.nofollow        = 0;

您在第一个示例中遇到的错误是什么?