Mysql SQL插入到查询语法中

Mysql SQL插入到查询语法中,mysql,Mysql,我正在尝试运行一个MySQL查询,以便根据审查ID(ID\U product\U comment)将数据从旧表(ps\U product\U review/rate)复制到新表(ps\U product\U comment/grade)。但我对SQL查询有点迷茫,这就是我所拥有的,但不断出现错误 INSERT INTO ps_product_comment [(grade)] SELECT rate FROM ps__product_review [WHERE ps__p

我正在尝试运行一个MySQL查询,以便根据审查ID(ID\U product\U comment)将数据从旧表(ps\U product\U review/rate)复制到新表(ps\U product\U comment/grade)。但我对SQL查询有点迷茫,这就是我所拥有的,但不断出现错误

  INSERT INTO ps_product_comment [(grade)] 
   SELECT rate
   FROM ps__product_review
   [WHERE ps__product_review.id_product_comment=ps_product_comment.id_product_comment];
有人能帮我写正确的查询吗

编辑:基本上,我正在尝试填充下表中的Grade列

旧表(ps\U产品\U审查)


删除方括号,我认为您缺少联接(因为您在
where
子句中使用了该联接):


如果要使用其他表中的数据更新表,请使用update with JOIN

UPDATE ps_product_comment 
JOIN ps__product_review
ON ps__product_review.id_product_comment = ps_product_comment.id_product_comment
SET ps_product_comment.grade = ps__product_review.rate;

当你在这里提问时,你应该提供尽可能多的信息。例如,您会遇到哪些错误。不管怎样,你都应该去掉方括号。在文档中,方括号表示这部分查询是可选的。这不起作用,它从旧表复制了排名/等级,并将其粘贴到新表的底部,而不是正确的列/行中。我更新了问题以澄清我的意思。@Naz:-您需要在insert和select子句中添加列名,您就完成了!只是尝试过,但它仍然将数据添加到表的末尾而不是填充空白列。如果要填充列,则必须使用Update。
   INSERT INTO ps_product_comment (grade)
   SELECT rate
   FROM ps__product_review inner join ps_product_comment on 
   ps__product_review.id_product_comment=ps_product_comment.id_product_comment;
UPDATE ps_product_comment 
JOIN ps__product_review
ON ps__product_review.id_product_comment = ps_product_comment.id_product_comment
SET ps_product_comment.grade = ps__product_review.rate;