来自另一个表的更新表上的SQL错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自另一个表的更新表上的SQL错误相关的知识,希望对你有一定的参考价值。

我试图从另一个表更新数据库表的一列。

但总是得到同样的错误:

#1064 - 您的SQL语法有错误;查看与您的mysql服务器版本对应的手册,以便在第11行使用“FROM wp_popularpostsdata T1 INNER JOIN wp_top_ten T2 ON T1.postid = T2.postnumbe”附近使用正确的语法

我发现一篇帖子谈到了错误1064,但没有帮助我。

我试过这个代码:

UPDATE A
SET A.pageviews = B.cntaccess
FROM wp_popularpostsdata A INNER JOIN wp_top_ten B ON A.postid = B.postnumber

UPDATE a
SET a.pageviews = b.cntaccess
FROM wp_popularpostsdata a JOIN wp_top_ten b ON a.postid = b.postnumber

UPDATE T1
SET T1.pageviews = T2.cntaccess
FROM wp_popularpostsdata T1 INNER JOIN wp_top_ten T2 ON T1.postid = T2.postnumber
WHERE 1;

你能帮我吗?

答案

根据查询中的更正,我认为你正在使用MySQL:

UPDATE wp_popularpostsdata A
JOIN wp_top_ten B ON A.postid = B.postnumber
SET A.pageviews = B.cntaccess

UPDATE wp_popularpostsdata a
JOIN wp_top_ten b ON a.postid = b.postnumber
SET a.pageviews = b.cntaccess


UPDATE wp_popularpostsdata T1
JOIN wp_top_ten T2 ON T1.postid = T2.postnumber
SET T1.pageviews = T2.cntaccess
WHERE 1;

对于一般更新加入:

1. MYSQL

UPDATE TABLEA a 
JOIN TABLEB b ON a.join_colA = b.join_colB  
SET a.columnToUpdate = [something]

2.SQL SERVER或MSSSQL

UPDATE A
SET foo = B.bar
FROM TableA A
JOIN TableB B
    ON A.col1 = B.colx
WHERE ...
另一答案
UPDATE wp_popularpostsdata A INNER JOIN wp_top_ten B ON A.postid = B.postnumber
SET A.pageviews = B.cntaccess

UPDATE wp_popularpostsdata a JOIN wp_top_ten b ON a.postid = b.postnumber
SET a.pageviews = b.cntaccess

UPDATE wp_popularpostsdata T1 INNER JOIN wp_top_ten T2 ON T1.postid = T2.postnumber
SET T1.pageviews = T2.cntaccess
WHERE 1;

以上是关于来自另一个表的更新表上的SQL错误的主要内容,如果未能解决你的问题,请参考以下文章

用另一个表上的值更新新添加的列

更新表上的触发器[关闭]

sql怎样把一个表的数据更新到另一个表

(错误)SQL 代码 -530,错误外键 PAY$ID$U 的插入或更新值无效

更新查询在同一张表上的 Sql 查询死锁

PL/SQL:根据条件更新另一个表时未找到数据