ich will in einer tabelle über ein PHP/javascript-interface einen wert invertieren [ col stat kann zwei werte haben 0 und 1 beim invertieren soll 0 1 werden und 1 0 die col ist CHAR]
meine Lösung wäre : UPDATE xyz set stat=if(stat='0','1','0) WHERE a='aaa',b='bbb' etc. LIMIT 22
die lösung von wahsaga mit mod ist doch astrein.
soweit so gut. das problem, dass nun auftritt ist relativ eigenartig : bei etwa 4 von 10 versuchen funktioniert diese query komplett richtig und tut was sie tun soll. bei den restlichen 6 leider nicht - der wert wird nicht umgesetzt.
das ist wirklich eigenartig!
aber was soll LIMIT 22 ?
mach doch einfach mal einen test mit einer neuen tabelle, und probiere den update mal ohne WHERE und LIMIT aus.
dann gehe sukzessive weiter, erst mit WHERE, dann zusätzlich LIMIT.
so läßt sich der fehler leichter eingrenzen.