Seite 1 von 1

SQL Daten in Tabelle Schreiben..

Verfasst: 01.07.2005 11:45
von t2004
Moin,

bin derzeit dabei mir den Kopf über einen Zusatz für den YCM zu zerbrechen. Möchte nämlich gerne einen Grund für die Verwarnungen mit angeben und im Profil anzeigen lassen.

Nun habe ich die Tabelle in der Datenbank erst einmal manuel angelegt (user_id, username, w_reason, date, mod). Dabei habe ich nun gleich auch die Zeile 1 schon einmal mit Testdaten gefüllt um das Auslesen der Tabelle zu erproben.

Jetzt wo ich Zeile 2 mit Daten füllen wollte, bekomme ich die Fehlermeldung, das der Wert von "user_id" doppelt ist. Da aber jeder user max. 3 verwarnungen bekommen kann, ist der Wert zwangsläufig mehrmals in der Tabelle drinnen. Nur wie kann ich der Datenbank sagen, das dies so sein soll??

Ist evtl. nur ne Kleinigkeit, aber mit SQL habe ich noch weniger Erfahrung, wie mit PHP.

Danke schon mal im Voraus...

mfg

Verfasst: 01.07.2005 14:26
von itst
Du hast entweder den Primary Key oder einen Unique Key auf dem feld user_id. Beide erlauben es nicht, das ein Wert mehr als einmal in diesem Feld steht. Entweder Du benutzt einen Index Key für das Feld user_id oder Du erstellst ein zusätzliches Feld , über das Du dann wieder einen Primary oder Unique Key legen kannst.

Siehe auch http://dev.mysql.com/doc/mysql/de/create-table.html und http://dev.mysql.com/doc/mysql/de/mysql-indexes.html und http://dev.mysql.com/doc/mysql/de/indexes.html

Verfasst: 01.07.2005 14:46
von t2004
itst hat geschrieben:Du hast entweder den Primary Key oder einen Unique Key auf dem feld user_id. Beide erlauben es nicht, das ein Wert mehr als einmal in diesem Feld steht. Entweder Du benutzt einen Index Key für das Feld user_id oder Du erstellst ein zusätzliches Feld , über das Du dann wieder einen Primary oder Unique Key legen kannst.

Siehe auch http://dev.mysql.com/doc/mysql/de/create-table.html und http://dev.mysql.com/doc/mysql/de/mysql-indexes.html und http://dev.mysql.com/doc/mysql/de/indexes.html
Das klingt einleuchtend, zumal ich eh noch eine zusätzliche Spalte benötige (Warn_id)...damit auch der Verwarnungsgrund zusammen mit der Verwarnung verschwindet, falls die Verwarnung gelöscht wird...

Danke für den Stubser in die richtige Richtung.

mfg