Всякий раз, когда возникает сомнение в том, как Mysql интерпретировал предложение WHERE, измените его на SELECT.
SELECT fieldname - 'C200900673' FROM tablename;
И
SELECT fieldname FROM tablename WHERE fieldname - 'C200900673';
Посмотрите, какое значение возвращает первый выбор и какие строки находит второй.
К сожалению, поскольку Mysql довольно слабо разбирается в числовых / строковых преобразованиях, особенно в сериях 4.x, и даже в нестрогих 5.x, черт возьми ... даже в строгом моде трудно сказать, что именно неправильно без всех деталей вашей конфигурации Mysql. Это может быть связано с тем, что имя поля было приведено к какому-либо числу, как и C200900673, в основном работающий:
update tablename set fieldname = 'C200900674' where NUMBER - NUMBER;
Что можно перевести на:
update tablename set fieldname = 'C200900674' where 1;
В любом случае, надеюсь, у вас есть резервная копия!