Tabelleeinträge füllen

Dimenson

Erfahrenes Mitglied
Tabelleneinträge füllen

Hallo,

gibt es vielleicht eine Möglichkeit Tabelleneinträge alle felder bis auf eins zu überschreiben oder zu leeren ?

Ich habe zu Beispiel eine User Tabelle mit folgenden Felder : id,benutzername,passwort, etc.

Ich möchte gerne das alle Daten bis auf ID gelöscht werden.

Das ich das mit UPDATE set bla lösen kann ist mir klar. Aber vllt gibt es noch eine schönere Methode. Bzw. es können evlt. auch mal Felder hinzukommen oder wegfallen. Keine Lust die php Dateien dadurch jedesmal anzupassen.
 
Zuletzt bearbeitet:
Du musst. um Datensätze ändern zu können, immer UPDATE .. SET verwenden, da führt kein Weg dran vorbei. Was du aber machen kannst, ist es dynamisch zu lösen, in dem du, bevor der UPDATE-SQL zusammen gesetzt wird, vorher die Tabellen-Struktur ausliest und alle Spalten bis auf ID einsetzt.

Um an die Struktur der Tabelle zu gelangen, kannst du die DB INFORMATION_SCHEMA verwenden. Dort gibt es eine Tabelle mit dem Namen COLUMNS. Ein bestimmter SELECT wird dir nun alle Spalten liefern, die in einer bestimmten Tabelle liegen:

Code:
SELECT `COLUMN_NAME`
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA` = 'hier_datenbank_name_in_der_die_tabelle_liegt'
AND `TABLE_NAME`= 'hier_tabellen_name'
AND`COLUMN_NAME` != 'ID';

Den SELECT kannst du auch mit PHP ausführen und dann das Ergebnis mit mysql_fetch_row() durchlaufen, um daraus dann den UPDATE...SET zusammen zu bauen.
 
Zugegeben, ich bin kein Spezialist was MySQL angeht. Kannst du, alxy, deine Antwort genauer erläutern. Verstehe leider deinen Ansatz nicht.

@Saftmeister, ich werde mal deinen Vorschlag testen.

Danke erstmal
 
Um es auf den Punkt zu bringen: Konkretisiere mal wasdu bezweckst damit zu erreichen.
Warum willste du alles außer der ID löschen? IDs stellen keine Nummerierung dar - nur so zur Info!
 
Mein Gedanke war. Dass ich den User nicht komplett lösche, sondern einfach nur die Daten leeren möchte. Die genannte ID ist auch in anderen Tabellen verknüpft und diese sollen erhalten bleiben. Es handelt sich hierbei um ein Auktionshaus.
Ich möchte gerne verhindern dass durch ein Insert, vielleicht aus unerfindlichen Gründen, die ID des gelöschten Users nicht übernommen werden soll. Da ich diese IDs nutze zum Verknüpfen.

Einfach nur zur Sicherheit.

Und bitte nicht Schlagen, auch wenn sich ein Datenbankprogrammierer hier evtl. an seinen Stolz gekränkt fühlen ;). Ein bisschen Höflichkeit gehört sich nun mal.
 
Zuletzt bearbeitet:
Wäre es in diesem Falle nicht besser, einfach eine Spalte "status" der Benutzer-Tabelle hinzuzufügen, an Hand derer du raus finden kannst, ob du das Benutzerprofil mit einbeziehen darfst oder nicht?
 
Zurück