MySQL UPDATE query funktioniert nicht Wo liegt der Fehler?

Folgendes Problem:
Ein SELECT Statement mit einer WHERE Klausel bringt mir 500 Datensätze als Ergebnis.
Ein UPDATE Statement mit der identischen WHERE Klausel mach mal 1 Datensatz, mal 2 Datensätze, mal 44 Datensätze also völlig unvorhersehbar. Es müssten aber auf einmal 500 Datensätze betroffen sein. Es gibt keine Warnungen oder Fehler. Die upzudatenden Felder haben auch unterschiedlich Inhalte, werden also nicht ignoriert.

Hier die Queries:

SELECT CONVERT((products_ek_price * 1.07 * 1.19), DECIMAL(15,4)) as ppres, products_price from products_ak 
WHERE Hersteller = "Preisner" 
AND aktualisieren = 1 
AND INTHSTID != 374 
AND INTHSTID != 777 
AND INTHSTID != 778 
AND INTHSTID != 779 
AND INTHSTID != 780 
AND CAST((products_ek_price * 1.07 * 1.19) as DECIMAL(15,4)) <> products_price;


UPDATE LOW_PRIORITY products_ak 
SET 
  products_price = CONVERT((products_ek_price * 1.07 * 1.19), DECIMAL(15,4))
WHERE 
  Hersteller = "Preisner" 
  AND aktualisieren = 1 
  AND INTHSTID != 374 
  AND INTHSTID != 777 
  AND INTHSTID != 778 
  AND INTHSTID != 779 
  AND INTHSTID != 780
  AND CAST((products_ek_price * 1.07 * 1.19) as DECIMAL(15,4)) <> products_price;
/* Affected rows: 1  Gefundene Zeilen: 471  Warnungen: 0  Dauer von 2 queries: 0,109 sec. */

Das Verhalten ist nicht nachvollziehbar. Irgendwelche Ideen?

Vielen Dank!

Problem gelöst. Bin aber nicht ganz glücklich dabei… :confused:
Benutze ich in der WHERE Klause der Update Query anstatt:

Hersteller = "Preisner"

den Ausdruck:

Hersteller LIKE "%Preisner%"

funktioniert alles wie gewollt. Irgendwie macht mich das aber stutzig. Wieso ist WHERE nicht gleich WHERE?

Gruß Mosenturm