Suche SQL Befehl
Hallo Zusammen,
bin ganz neu mit SQL unterwegs. Ich hab eine Frage:
Ich möchte einen SQL Befehl in PHPmyAdmin eingeben der folgendes macht:
Wenn in tabelle products unter products_image keine URL zum Bild eingetragen ist, dann setze product_status auf 0.
Status 0 ist inaktiv, Status 1 wäre aktiv.
Kurz um, wenn kein Produktbild in der Datenbank hinterlegt ist, möchte ich, dass das Produkt inaktiv gesetzt wird.
Kann mir da jmd mit einem Befehl helfen?
Vielen Dank im Voraus
Dirk
bin ganz neu mit SQL unterwegs. Ich hab eine Frage:
Ich möchte einen SQL Befehl in PHPmyAdmin eingeben der folgendes macht:
Wenn in tabelle products unter products_image keine URL zum Bild eingetragen ist, dann setze product_status auf 0.
Status 0 ist inaktiv, Status 1 wäre aktiv.
Kurz um, wenn kein Produktbild in der Datenbank hinterlegt ist, möchte ich, dass das Produkt inaktiv gesetzt wird.
Kann mir da jmd mit einem Befehl helfen?
Vielen Dank im Voraus
Dirk
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 88376
Url: https://administrator.de/forum/suche-sql-befehl-88376.html
Ausgedruckt am: 04.04.2025 um 11:04 Uhr
2 Kommentare
Neuester Kommentar
Moin Dirk27,
ich möchte hier gern die Antwort verweigern oder zumindest versuchen, dass Du diese Frage zurückziehst.
Denn was Du vorhast, ist das redundante Speichern von Informationen - damit kannst Du es nur schlimmer machen.
Wenn in Status auch welchen Gründen auch immer eine 1 steht, aber keine Url vorhanden ist oder doch eine Url vorhanden ist, aber Status gleich 'Inaktiv' ist - dann hast Du mehr Probleme als ohne das redundate Statusfeld.
Wenn die Argumentation wäre "Ich habe ein Feld 'BildAnzeigen', und das möchte ich erstmal überall auf '1' setzen, wo etwas im Feld 'product_images' steht", dann wäre das Statement abhängig vom konkreten Datenbanksystem sinngemäß so:
[eine 0 stand ja vorher ohnehin in ALLEN Sätzen, wenn Du das Feld als numerisches Feld mit Default angelegt hast]
Den exakten Befehl können wir erst nennen, wenn wir wissen, ob es hier um Oracle oder Access oder mySQL oder whatever geht.
Grüße
Biber
ich möchte hier gern die Antwort verweigern oder zumindest versuchen, dass Du diese Frage zurückziehst.
Denn was Du vorhast, ist das redundante Speichern von Informationen - damit kannst Du es nur schlimmer machen.
Wenn in Status auch welchen Gründen auch immer eine 1 steht, aber keine Url vorhanden ist oder doch eine Url vorhanden ist, aber Status gleich 'Inaktiv' ist - dann hast Du mehr Probleme als ohne das redundate Statusfeld.
Wenn die Argumentation wäre "Ich habe ein Feld 'BildAnzeigen', und das möchte ich erstmal überall auf '1' setzen, wo etwas im Feld 'product_images' steht", dann wäre das Statement abhängig vom konkreten Datenbanksystem sinngemäß so:
UPDATE products set BildAnzeigen = 1 where product_images is not NULL;
Den exakten Befehl können wir erst nennen, wenn wir wissen, ob es hier um Oracle oder Access oder mySQL oder whatever geht.
Grüße
Biber
Ich würde es folgendermassen machen:
Damit setzt Du erstmal alle auf 0, danach:
Damit prüfst Du gleichzeitig ob die URL eine HTTP Adresse ist.
Warum diese Reihenfolge?
Ich schalte lieber erst aus und dann an wie umgekehrt, wer zu früh einschaltet macht unter umständen viel kaputt.
UPDATE products SET product_status= 0;
UPDATE products SET product_status= 1 WHERE product_image like 'http%';
Warum diese Reihenfolge?
Ich schalte lieber erst aus und dann an wie umgekehrt, wer zu früh einschaltet macht unter umständen viel kaputt.