我想对我的本地数据库进行更新,其中一些字段与表中存在的另一个字段具有相同的值.
我提出了这个问题:
$wpdb->prepare(
"
UPDATE wp_usermeta meta
SET meta.meta_value = (
SELECT usermeta.meta_value
FROM wp_usermeta usermeta
WHERE usermeta.meta_key='nickname'
AND usermeta.user_id = %d
)
WHERE meta.user_id = %d
AND meta.meta_key='first_name'
",
$userId[0],
$userId[0]
)
查询将在PHP循环中运行,因此每次迭代时$userId都会不同.查询是针对WordPress数据库运行的(但这应与问题无关).
我在尝试运行查询时收到以下错误:
Table ‘meta’ is specified twice, both as a target for ‘UPDATE’ and as
a separate source for data
我怎么能解决这个问题?