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!