phpbar.de logo

Mailinglisten-Archive

OR will nicht richtig klappen

OR will nicht richtig klappen

Michael Bergbauer mysql_(at)_lists.phpcenter.de
Wed, 15 Aug 2001 08:38:37 +0200 (CEST)


On 14-Aug-2001 Joern Grube wrote:
> Hallo,
> 
> sorry, ich muss nochmal eine daemliche Frage stellen.
>   Der Sinn einer relationalen Datenbank ist ja, dass Informationen jeweils 
> nur einmal erfasst werden. Nun darf natuerlich nichts geloescht werden, was 
> woanders noch gebraucht wird. Also mache ich ein Select ueber die Tabellen, 
> in denen bewusste Info vorkommen koennte und das mit OR. Die $id ist 
> diejenige, welche ich aus dem vorigen Script uebergeben habe (kommt auch 
> richtig an, hab ich ueberprueft). Soweit sogut, solange nun in beiden 
> Tabellen der Eintrag vorkommt, funktioniert das auch, ist er jedoch nur in 
> einer vorhanden, wird der Datensatz trotzdem geloescht. Warum? Hatte statt 
>|| auch schon OR hingeschrieben und diverse andere Varianten mit dem Select 
> versucht, immer dasselbe.

Was du machen willst,ist ein Union, und kein OR:

Select news.rubrik as ID from news where news_rubrik=<id> 
union
Select tip_rubirk as ID from tip where tip_rubrik=<id>

und dann gucken, ob das resultset leer ist oder nicht. Dummerweise kann MySQL
keine Unions (AFAIK zumindest), du musst das also im Client, also wohl
PHP-Code, emulieren. Setz einfach zwei Abfragen ab, eine auf news, eine auf
tip, (so im Stil der beiden Select-Anweisungen aus dem Union), und wenn beide
leere Result-Sets haben, kannst löschen, andernfalls nicht. 


Michael

-- 
Michael Bergbauer <michael_(at)_noname.franke.de>
Use your idle CPU cycles.
See http://www.distributed.net and win $ 1 000.
Visit our mud Geas at geas.franken.de Port 3333

---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive