mySQL UPDATE...

DaveThuet

Erfahrenes Mitglied
Guten Abend

ich hätte da mal eine Frage zu einem SQL-Befehl den ich realisieren will in meiner Datenbank.

Vorerst eine kleine Erklärung meines Vorhaben:
Ich habe eine Hauptkategorie (id_kategorie) und Unterkategorien (id_unterkategorie) in der mySQL-Tabelle "tbl_uploads".

Nun wurde die eine Hauptkategorie (id_kategorie in tbl_uploads) MUSTER zu lang durch die vielen Unterkategorien (id_unterkategorie in tbl_uploads).

Ich habe nun die existierende Hauptkategorie unbenannt in MUSTER A bis M (id = 1) und eine zweite Hauptkategorie eröffnet mit den selben Namen also einfach MUSTER N bis Z (id = 2).
Ich möchte nun natürlich alle bestehenden Unterkategorien einfach per SQL-Befehl verschieben in die neue Hauptkategorie...

Ich hoffe Ihr könnt mir noch einigermassen folgen mit meiner Beschreibung?! :D

Meine Frage wäre folgender SQL-Befehl richtig oder wie müsste der aussehen?
Befehl ab Tabelle "tbl_uploads:
PHP:
UPDATE id_kategorie = '2' where id_unterkategorie = '905'

Ich wäre sehr dankbar für eine rasche Antwort da nun meine Seite eine kleine Baustelle ist. ;)
 
Damit machst du nur ein Update einer einzigen Unterkategorie. Wobei du vergessenhast die Tabelle anzugeben.
Wie ich dich verstehe, willst du alle U-Kats die zur Kat 1 gehören und deren Bezeichnung mit N oder höher beginnen in die Kat 2 verschieben.

SQL:
UPDATE 
	tbl_uploads
SET
	id_kategorie = '2' 
WHERE 
	id_kategorie = '1' 
	UPPER(LEFT(myName, 1)) >= 'N'
Mit LEFT() nehme ich den ersten Buchstaben der Bezeichnung. Mit UPPER() mach ich daraus einen Grossbuchstaben. Den vergleich ich noch mit 'N'.

Gruss in die Berge aus dem Flachland
 
Zuletzt bearbeitet von einem Moderator:
Guten Abend Genosse... ;)

mein Problem ist das in der tbl_uploads nur die ID-Nummern der Hauptkategorien und der Unterkategorien vorhanden ist jedoch nicht die Beschreibungen/Beschriftungen!
Diese sind in einer anderen Tabelle tbl_kategorie und tbl_unterkategorien.
Diese kann ich schnell und separat neu zuordnen da es dann nur ca. 50 Unterkategorien sind.
Aber Wallpapers sind es Tausende die verschoben werden müssen in die neu erstellte Hauptkategorie.
Somit kann ich wahrscheinlich nicht deinen Vorschlag verwenden, vermutte ich mal.

Jedoch bereits einen riesen Dank, dass du dir Zeit nimmst für mein anliegen.
 
Also wenn ich dein Code richtig verstehe würde es evtl. auch so Funktionieren.
Ich müsste einfach alle Unterkategorien die ich verschieben will manuel eine nach der anderen ausführen:
SQL:
UPDATE 
    tbl_uploads
SET
    id_kategorie = '2' 
WHERE 
    id_unterkategorie = '905'
Ich möchte nur sicher sein bevor ich sowas mache in der DB.

Würde es evtl. auch direkt mit mehreren Unterkategorien funktionieren wie folgendes Beispiel:
SQL:
UPDATE 
    tbl_uploads
SET
    id_kategorie = '2' 
WHERE 
    id_unterkategorie = '905', '906', '907', '908'
Danke vielmals für ein Feedback bevor ich dies ausführe.
 
Zuletzt bearbeitet von einem Moderator:
Das erste stimmt. Das 2te würde so aussehen
SQL:
UPDATE 
    tbl_uploads
SET
    id_kategorie = '2' 
WHERE 
    FIND_IN_SET(id_unterkategorie, '905,906,907,908')
 
Zuletzt bearbeitet von einem Moderator:
Danke vielmals lieber yaslaw!
Eine Frage die allerdings überhaupt nichts mit dem Thema zu tun hat, wenn ich darf. ;)
Wieso heisst es bei mir unterhalb meines Mitglied-Status:
"DaveThuet zeigte ein beschämendes Verhalten in der Vergangenheit"
Finde dies sehr enttäuschend. :( Was kann man dagegen machen oder diesen wieder aufbessern?
 
Das passiert, wenn andere Benutzer Beiträge von dir schlecht bewerten.

Bewerten kann man einen Beitrag mit dem Stern darunter (links von Antworten, Zitieren etc).
Aussuchen, ob man den Beitrag gut oder schlecht findet und eventuell einen kleinen Kommentar dazu abgeben.
Bei einer negativen Bewertung ist der Kommentar bzw. der Grund für die schlechte Bewertung Pflicht. (glaub ich).

Je nachdem, wieviel gute/schlechte Bewertungen du hast, bekommst du auch mehr/weniger Punkte (wo du beim Drüberfahren das "beschämende Verhalten" liest).
Die "guten" Punkte sind grün, beim Anmelden fängt man mit einem grünen an.

Wie stark sich eine Bewertung auf deinen Status auswirkt, hängt übrigens auch vom Bewerter ab (wie lange er angemeldet ist, wieviel Beiträge er hat etc).
Grund: zB. damit jemand, der sich einmal anmeldet, paar gemeine Bewertungen abgibt und sich dann nie wieder im Forum blicken lässt, nicht so ins Gewicht fällt.

Das "Danke" neben dem Stern gilt übrigens auch als eine gute Bewertung, wobei eine "echte" Bewertung aber mehr wert ist wie ein schnelles Danke.

Die letzten Bewertungen, die du erhalten hast, kannst du mit betroffenem Beitrag und ggf. Kommentar hier anschauen:
http://www.tutorials.de/usercp.php

Ausbessern kannst du deinen "Schlechtpunkt" nur wieder, in dem du Leuten hilfst, die deine Hilfe gut finden und dich dafür gut bewerten.

Gruß
 
Zuletzt bearbeitet:
Zurück