0

我正在尝试将表中的字段复制到post_titlewp_posts中的meta_value字段中wp_postmeta。这些是wordpress tabkes。

UPDATE wp_postmeta 
SET wp_postmeta.meta_value = wp_posts.post_title 
FROM wp_posts,wp_postmeta 
WHERE wp_posts.ID = wp_postmeta.post_id 
AND wp_postmeta.meta_key LIKE '%_yoast_wpseo_focuskw'

收到此错误:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的“FROM wp_posts,wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_pos”附近使用正确的语法

我哪里错了?

4

3 回答 3

0

试试这个

UPDATE wp_postmeta m INNER JOIN
       wp_posts p ON p.ID = m.post_id 
   SET m.meta_value = p.post_title 
WHERE  m.meta_key LIKE '%_yoast_wpseo_focuskw'
于 2013-02-23T19:47:27.500 回答
0

您有一个带有表名的 UPDATE ,然后有一个 FROM 子句做同样的事情。在 UPDATE 子句中组合您需要的表,或者您需要 SELECT 进行子查询。

无论如何,FROM 的语法都不正确。您可以在 Google 上搜索 SQL 语法或特定于 MySQL 的 SQL 语法,这可能会帮助您了解什么是 MySQL 的合法 SQL。

于 2013-02-23T19:51:13.757 回答
0

UPDATE wp_postmeta SET wp_postmeta.meta_value = wp_posts.post_title FROM wp_posts 内部加入 wp_postmeta on wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key LIKE '%_yoast_wpseo_focuskw'

于 2013-02-23T19:54:09.437 回答