Mysql 从另一个表更新值
我第一次更新value。我有两张桌子。一个表有旧值,它是主表,应该更新。在第二个表中,我有了新的值。在两个表上,我有相同的用户ID 数据库名称为“intranet” 第一个表的名称是“wp\u bp\u xprofile\u data”Mysql 从另一个表更新值,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我第一次更新value。我有两张桌子。一个表有旧值,它是主表,应该更新。在第二个表中,我有了新的值。在两个表上,我有相同的用户ID 数据库名称为“intranet” 第一个表的名称是“wp\u bp\u xprofile\u data” id field_id user_id value last_updated 59430 13 4442 598902299 22-Mar-19 20:19:54 59443 13
id field_id user_id value last_updated
59430 13 4442 598902299 22-Mar-19 20:19:54
59443 13 4443 599847428 22-Mar-19 20:19:54
59456 13 4444 598644555 22-Mar-19 20:19:54
第二个表的名称是“idgeorge”
user_id z9
4444 598644555
4443 599847428
4442 598902299
这是三个用户的示例,还有数千个
我搜索了一些示例并写下了代码,但它不起作用。这是我的密码
UPDATE wp_bp_xprofile_data
SET wp_bp_xprofile_data.value = idgeorge.z9
WHERE idgeorge.user_id = wp_bp_xprofile_data.user_id
and
wp_bp_xprofile_data.field_id=13
FROM intranet.idgeorge
这是错误的
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROM 'intranet.idgeorge'' at line 11
但是我不知道遗漏了什么或出了什么问题。您似乎在寻找
更新
/加入
。在MySQL中,这看起来像:
UPDATE wp_bp_xprofile_data pd join
intranet.idgeorge i
USING (user_id)
SET pd.value = i.z9
WHERE pd.field_id = 13 ;
MySQL不支持
UPDATE
中的FROM
子句。所有遵循正常子句顺序的数据库,其中where
需要遵循FROM
Hi。欢迎来到SO。请看:一个好的提示是从选择开始。将SELECT转换为更新通常非常简单。下面是一个具有有效语法的查询示例。没有足够的信息来知道它是否是你要找的<代码>更新wp\u bp\u xprofile\u数据x加入y.user\u id=x.user\u id SET x.value=y.z9,其中x.field\u id=13