好吧,我一整天都在尝试这样做。我知道这个问题之前已经被问过并得到回答,但我一直无法思考如何使这项工作发挥作用。
UPDATE 'domain_main.registrarMultiID' =
(
SELECT r.MultiID#, m.RecId, d.domainId
FROM domain_main d, Master m, registrar_accounts_multi r
WHERE d.domainId = m.RecId
AND r.account = m.Account_CustomerNumber
AND r.password = m.Password
AND r.logonName = m.Logon_Username
)
我在这里缺少什么?我知道我不应该在选择中引用domain_main,但我不确定如何以另一种方式解决这个问题。
最佳答案
你的语法错误
UPDATE 'domain_main.registrarMultiID' =
(
SELECT r.MultiID#, m.RecId, d.domainId
FROM domain_main d, Master m, registrar_accounts_multi r
WHERE d.domainId = m.RecId
AND r.account = m.Account_CustomerNumber
AND r.password = m.Password
AND r.logonName = m.Logon_Username
)
正确的语法如下。我假设您要将 domain_main
表的 registrarMultiID
列的值设置为属于 registrar_accounts_multi
的 MultiID#
列值> 表。
UPDATE 'domain_main' As d
INNER JOIN Master as m
ON d.domainId = m.RecId
INNER JOIN registrar_accounts_multi as r
ON r.account = m.Account_CustomerNumber
AND r.password = m.Password
AND r.logonName = m.Logon_Username
SET d.registrarMultiID = r.MultiID#
关于mysql - 尝试更新并遇到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19152366/