我正在使用MySQL并正在运行查询,我认为该查询应该有效,但是显然我缺少了一些东西。
运行时0条记录被更新:
UPDATE `client`
SET StatementTermsID = (SELECT StatementTermsID FROM statementterms WHERE TermsDescription = 'NET 15')
WHERE `client`.StatementNote LIKE '%Net 15%';
如果我自己运行子查询,则会得到预期的记录ID。如果我将子查询更改为静态值,则将更新2000条记录。对我缺少的东西有任何想法吗?
最佳答案
这是另一种语法:
UPDATE `client` a,
(SELECT StatementTermsID FROM statementterms WHERE TermsDescription = 'NET 15') b
SET a.StatementTermsID = b.StatementTermsID
WHERE a.StatementNote LIKE '%Net 15%';