Sven Rautenberg: Logik ganz einfach: nur UND, kein ODER

Beitrag lesen

Moin!

OK. dann hake ich dieses Problem als derzeit unlösbar ab, ausser es kann mir jemand sagen welcher wert bei NOT NULL in der spalte steht wenn ich in einem varchar-feld bei INSERT keinen wert angebe.

Da steht der Defaultwert drin, der beim Anlegen der Tabelle definiert wurde. Und das ist unabhängig von der NULL-Einstellung der Spalte.

Sowas zeigt dir PHPMyAdmin aber auch an.

ich habs jetzt anders zum laufen gebracht aber mit blödem bauchgefühl. vielleicht werden nicht alle datensätze ausgegeben? ... blöd halt.

Das Problem liegt eindeutig in der Formulierung deiner Abfragebedingung. Du bist vollkommen fixiert auf "ODER" und behauptest, das müsste so sein.

Jetzt gilt aber folgender logischer Zusammenhang:

(!A oder !B) <==> !(A und B) http://de.wikipedia.org/wiki/Aussagenlogik#Verneinung_einer_Konjunktion

Wenn dein !A also "bild <> ''" lautet, dann wäre A "bild == ''".

Daraus ergibt sich:
Der erste Ausdruck formuliert: Wenn Bild 1 kein Leerstring oder Bild 2 kein Leerstring, dann...

Das logische Äquivalent: Wenn Bild 1 ein Leerstring und Bild 2 ein Leerstring, dann NICHT...

Das einklammern und mit NOT logisch umdrehen - fertig.

Dein Wunsch nach "UND plus ODER" ist also nicht zwingend.

- Sven Rautenberg