MySql从另一个表更新一个表失败
问题描述:
我试图从另一个表中更新一个表,查询将所有字段customers.entry_company_tax_id设置为“NULL”,这对我来说没有意义。MySql从另一个表更新一个表失败
这里是查询,有人可以告诉我我做错了什么吗?
UPDATE customers
SET customers.entry_company_tax_id = (
SELECT prospects.account
FROM prospects
WHERE prospects.prospect = customers.entry_company_tax_id
);
答
如果没有比赛,他们将被设置为NULL
。
我会用JOIN
语法更新开始:
UPDATE customers c JOIN
prospects p
ON p.prospect = c.entry_company_tax_id
SET c.entry_company_tax_id = p.account;
这样做的优势在于,它将只更新匹配的记录 - 所以没有新的NULL
值(除非p.account
是NULL
)。
然后,您可以调查这两个表是否是正确的JOIN
键。您是否使用entry_company_tax_id
既用于JOIN
也用于字段值?
潜在客户数据库有一些信息,但不是全部。前景有以下领域“前景”和“账户”。公司有“entry_company_tax_id”,并且我想在prospects.prospect = company.entry_company_tax_id时更新company.entry_company_tax_id与prospects.accounts。上面的查询会如何工作? – Sandwick
@Sandwick。 。 。表格之间的链接需要正确。如果您现在正在获取所有“NULL”,则可能是使用了错误的列。 –
您的查询工作并解决了我的问题! – Sandwick