Urmel: negieren von Bit-Feldern

Beitrag lesen

Hallo Forum...

Ich weiß nicht genau wie ob eine Möglichkeit besteht ein Datenbankfeld (z.B. SET of '0','1' oder BOOL) mit einem UPDATE umzukeheren.

Also wenn 1 drinsteht auf 0 setzen und umgekehrt. Ich hab mich jetzt schon blöd gesucht, darum hoffe ich das hier jemand eine patente Lösung kennt!

Ich benutze MySQL 4.x
Gruß, Markus

Hab noch eine weitere Möglichkeit gefunden, die ggf. sogar noch besser ist als das multiplizieren mit -1

set x = abs(x-1)

Geht sogar ohne abs() :

set x = 1 - x

Im Übrigen würde ich auch soviel wie möglich von der Datenbank erledigen lassen - die sollte auf größtmögliche Effizienz optimiert sein. Jede Kommunikation mit einem anderen Programm bremst beide: Erst muss das andere Programm auf die Daten von der Datenbank warten, dann muss die DB "darauf warten" (warten tut sie sowieso, solange sie nichts zu tun hat), dass die Daten zurückkommen und sie wieder wegspeichern. Wenn die DB die Rechnung durchführt, sind die Wege kürzer und es eine "Kommunikation zwischen DB und Programm" weniger - das ist IMMER schneller. Und eleganter, auch wenn man keine Geschwindigkeit braucht.

Viele Grüße
Urmel