我无法理解 我正在使用 mysql
这是我的查询
SET SQL_SAFE_UPDATES = 0;
update `accounts` as A
inner join `company` as C on C.Email = 'shalvasoft@gmail.com'
SET A.username = 'shaliapin777',
A.company_id = C.id,
C.cat = (select id from category where name = 'sdbjn'),
C.ContactName = 'shalva'
where A.email_code = 'edfwe4r64fd65ew46fd45' ;
一切正常,除了 A.company_id = C.id 这条线 所以我无法获得正确的ID
你能帮我吗???
最佳答案
您正在尝试更改两个单独表中的值,但未指定这些表的关联方式。看起来您的主键混淆了。
为了使其工作,您需要为 INNER JOIN
指定适当的 ON
条件。例如,如果 company
表的主键是 id
列:
UPDATE
accounts as A
INNER JOIN company as C ON C.id = A.company_id
SET
...
WHERE
accounts.email_code = '...'
关于mysql - 更新时无法从表中获取id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22283398/