Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 Sql更新与Join语句_Mysql_Sql_Join - Fatal编程技术网

Mysql Sql更新与Join语句

Mysql Sql更新与Join语句,mysql,sql,join,Mysql,Sql,Join,我有两个表:第一个表存储主要信息,第二个表存储一些额外信息。我需要在第二个表中存储的一些数据的帮助下更新第一个表 我的SELECT语句正在运行 SELECT news.news_id, news.title, news.cat_id, news.sub_cat_id, news_extra.date_vision_tr FROM news_extra JOIN news ON news.news_

我有两个表:第一个表存储主要信息,第二个表存储一些额外信息。我需要在第二个表中存储的一些数据的帮助下更新第一个表

我的SELECT语句正在运行

SELECT  news.news_id, 
        news.title, 
        news.cat_id, 
        news.sub_cat_id, 
        news_extra.date_vision_tr
FROM news_extra
    JOIN news 
        ON news.news_id = news_extra.news_id
WHERE news.cat_id=1 AND sub_cat_id=5 AND news_extra.date_vision_tr < CURDATE()
选择news.news\u id,
新闻标题,
news.cat_id,
news.sub_cat_id,
新闻\u额外日期\u愿景\u tr
来自新闻频道
加入新闻
ON news.news\u id=news\u extra.news\u id
其中news.cat_id=1,sub_cat_id=5,news_extra.date_vision_tr
然后我尝试像这样更新语句

UPDATE news SET news.sub_cat_id=8 
FROM news
   INNER JOIN news_extra
        ON news.news_id = news_extra.news_id
WHERE news.cat_id=1 AND sub_cat_id=5 AND news_extra.date_vision_tr < CURDATE() 
更新新闻集news.sub_cat_id=8
来自新闻
内部连接新闻\u额外
ON news.news\u id=news\u extra.news\u id
其中news.cat_id=1,sub_cat_id=5,news_extra.date_vision_tr
但它不起作用。给这个错误

*您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解要使用的正确语法 near'从新闻内部加入news\u news.news\u id上的额外新闻= news\u extra.news\u id WHERE news.”在第2行*


您使用的语法用于
SQL Server

下面是MySQL的语法

UPDATE  news a
        INNER JOIN news_extra b
            ON a.news_id = b.news_id
SET     a.sub_cat_id = 8 
WHERE   a.cat_id = 1 and 
        sub_cat_id = 5 and 
        b.date_vision_tr < CURDATE() 
更新新闻a
内部连接新闻\u额外b
在a.news\u id=b.news\u id上
设置a.sub_cat_id=8
其中a.cat_id=1和
sub_cat_id=5和
b、 日期\u视觉\u tr
您正在使用的语法用于
SQL Server

下面是MySQL的语法

UPDATE  news a
        INNER JOIN news_extra b
            ON a.news_id = b.news_id
SET     a.sub_cat_id = 8 
WHERE   a.cat_id = 1 and 
        sub_cat_id = 5 and 
        b.date_vision_tr < CURDATE() 
更新新闻a
内部连接新闻\u额外b
在a.news\u id=b.news\u id上
设置a.sub_cat_id=8
其中a.cat_id=1和
sub_cat_id=5和
b、 日期\u视觉\u tr
您必须更熟悉SQL Server。您使用的语法将在SQLServer中工作。对于MySQL:

UPDATE news
INNER JOIN news_extra
ON news.news_id = news_extra.news_id
SET news.sub_cat_id=8 
WHERE news.cat_id=1 and sub_cat_id=5 and news_extra.date_vision_tr < CURDATE()
更新新闻
内部连接新闻\u额外
ON news.news\u id=news\u extra.news\u id
设置新闻。子目录id=8
其中news.cat_id=1,sub_cat_id=5,news_extra.date_vision_tr
--这样试试


您必须更熟悉SQL Server。您使用的语法将在SQLServer中工作。对于MySQL:

UPDATE news
INNER JOIN news_extra
ON news.news_id = news_extra.news_id
SET news.sub_cat_id=8 
WHERE news.cat_id=1 and sub_cat_id=5 and news_extra.date_vision_tr < CURDATE()
更新新闻
内部连接新闻\u额外
ON news.news\u id=news\u extra.news\u id
设置新闻。子目录id=8
其中news.cat_id=1,sub_cat_id=5,news_extra.date_vision_tr
--这样试试