从另一个数据库和不同表格更新表格

30

基本上,我想要做的是以下内容: 我在我的第一个数据库(prc)中有一个名为"users"的表,就像这样:

prc.user :
id_user : 45 | name_user : Test | login_user : test | pwd_user : test
[...]

而在我的第二个数据库(命名为:prc_test)中

prc_test.user
id_user : 45 | name_user : Test | login_user : test | pwd_user : test
[...]
我想要做的事情是将“prc_test.user”中的所有“pwd_user”字段更新为来自“prc.user”的值。但是在“prc_test.user”中,id与“prc.user”中的不同,因此我想通过“name_user”来完成它(没有重复的名称)。
有什么提示可以帮助我吗?我在谷歌上搜索了一下,但找到的都是一些特定情况或插入语句的内容。
(我正在使用MySQL5.5)
谢谢!

1
如果 id_user 列不匹配(顺便说一下,您的示例显示它们匹配),那么如何确定两个记录对应于同一个用户?我想 login_user 列是最可靠的,但这取决于您的应用程序。 - eggyal
1
他在紧接着的下一句回答了这个问题。 - Dan Grossman
2个回答

69
UPDATE 
  prc.user, 
  prc_test.user 
SET 
  prc_test.user.pwd_user = prc.user.pwd_user
WHERE 
  prc_test.user.name_user = prc.user.name_user

0

更新 prc_test.user SET prc_test.user.pwd_user = (SELECT prc.user.pwd_user FROM prc.user WHERE prc_test.user.id_user= prc.user.id_user)


1
这个问题已经有一个被接受的有效答案了。为什么要发布另一个“重复”的问题? - Ergis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接