Mysql 更新时无法从表中获取id
我不能相信 我正在使用mysql 这是我的疑问Mysql 更新时无法从表中获取id,mysql,Mysql,我不能相信 我正在使用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.Con
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
这条线
所以我找不到正确的身份证
您能帮助我吗?您正在尝试更改两个单独表中的值,而不指定这些表的关联方式。看起来你把主键弄错了 为了使其正常工作,您需要为
内部联接指定一个适当的ON
条件。例如,如果company
表的主键是id
列:
UPDATE
accounts as A
INNER JOIN company as C ON C.id = A.company_id
SET
...
WHERE
accounts.email_code = '...'
除A.company\u id=C.id外,其他一切都正常。你是什么意思?首先:请用实际合适的标签来标记问题。这与PHP没有任何关系。接下来,请解释一下你想要实现的目标。您的查询看起来非常复杂,我相信可以简化一些。您会遇到什么类型的错误?我们也不明白您为什么使用mysql;)您的示例输入和输出是什么?请解释一下你询问的目的。这将有助于理解。是的,我理解,但我需要在公司中写入帐户-->id-->公司id,如果我将在ON语句中使用C.id=A.company\U id,它将在“内部联接”中的“不按我所知写入ON”语句用作standart语句中的“WHERE”。例如,从公司中选择C.name作为C,将帐户作为WHERE C.id=A.company\U id