我正在使用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%';

10-04 11:55