WulfmanGER
Commander
- Registriert
- Juli 2005
- Beiträge
- 2.333
Hallo in die Runde,
ich habe ein INSERT mit ON DUPLICATE KEY UPDATE. Das ganze klappt (zumindest noch keinen Fehler gesehen), wirft mir aber in phpMyAdmin: "Warning: #1292 Falscher DOUBLE-Wert gekürzt: '' " raus. Ist also irgendwie noch nicht sauber
... der Übeltäter ist identifiziert nur wie ich das losbekomme bzw. besser mache weiß ich nicht
Die Zeile awd_gg (int(2)) verursacht die Warnung. Davon hab ich 4 und somit 4 Warnings
Hier mal der mit der Variablen in PHP - vielleicht wird dann etwas klarer was ich will?
awd_gg enthält per Default "NULL" - Nur wenn $awd_gg einen Wert enthält der höher als das Feld awd_gg ist, darf der neue Wert reingeschrieben werden - ansonsten bleibt es bei NULL.
Wie gesagt - das funktioniert - bis auf die Warnings. Der Syntax ist ja vom Grundsatz richtig - sonst würde es nicht funktionieren und eine Fehlermeldung rauswerfen.
Wie bekomme ich das nun hin? U.a. sagt Warning 1292 aus das ich im UPDATE die SETs nicht mit AND verknüpfen darf - aber das mach ich ja schon nicht. Ansonsten sollte man im UPDATE test='1' machen und nicht test=1 ...
ich habe ein INSERT mit ON DUPLICATE KEY UPDATE. Das ganze klappt (zumindest noch keinen Fehler gesehen), wirft mir aber in phpMyAdmin: "Warning: #1292 Falscher DOUBLE-Wert gekürzt: '' " raus. Ist also irgendwie noch nicht sauber
... der Übeltäter ist identifiziert nur wie ich das losbekomme bzw. besser mache weiß ich nicht
Code:
INSERT INTO [...]
ON DUPLICATE KEY UPDATE
awd_gg = IF(awd_gg < '' OR awd_gg IS NULL, NULLIF('',''), awd_gg),
[...]
Die Zeile awd_gg (int(2)) verursacht die Warnung. Davon hab ich 4 und somit 4 Warnings

Hier mal der mit der Variablen in PHP - vielleicht wird dann etwas klarer was ich will?

Code:
awd_gg = IF(awd_gg < '$awd_gg' OR awd_gg IS NULL, NULLIF('$awd_gg',''), awd_gg),
awd_gg enthält per Default "NULL" - Nur wenn $awd_gg einen Wert enthält der höher als das Feld awd_gg ist, darf der neue Wert reingeschrieben werden - ansonsten bleibt es bei NULL.
Wie gesagt - das funktioniert - bis auf die Warnings. Der Syntax ist ja vom Grundsatz richtig - sonst würde es nicht funktionieren und eine Fehlermeldung rauswerfen.
Wie bekomme ich das nun hin? U.a. sagt Warning 1292 aus das ich im UPDATE die SETs nicht mit AND verknüpfen darf - aber das mach ich ja schon nicht. Ansonsten sollte man im UPDATE test='1' machen und nicht test=1 ...