【发布时间】:2013-04-17 01:18:39
【问题描述】:
我正在尝试使用带有内部联接的选择查询来更新 mysql 数据库中的字段值
我目前得到
1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 5 行的“AS cc WHERE cc.account_id = na.account_id”附近使用正确的语法
UPDATE accounts AS na
SET na.pdm_id = (
SELECT cp.person_id FROM `temp_accounts` AS ta INNER JOIN call_managment_system.accounts AS a ON ta.company_code = a.company_code
INNER JOIN contact_personal AS cp ON cp.name = ta.FSM AND contact_link = 'PDM'
)
WHERE a.account_id = na.account_id
如何修复此查询以使其正常工作?我想更新名为 pdm_id 的字段以将其设置为等于 cp.person_id
谢谢
【问题讨论】:
-
你删除了
AS cc对吗?在您的代码中找不到它。 -
你的
AS ac在哪里? -
您能解释一下
account与其他表的关系吗? -
对不起,我刚刚更新了我的帖子,我已经删除了 cc yes 并将 ac 替换为 a。
-
所以在 temp_accounts 表中它有 company_code 列,我可以喜欢到 accounts 表。然后从那里我可以通过位于 temp_accounts 字段中的 FSM 字段链接到 contact_personal。我不确定我是否清楚地解释了这一点。
标签: mysql sql database sql-update