Hi Leute,
ich habe mich nun durch alle möglich sql-tutorials gewühlt und im netz findet man sehr wehig einsteigerfreundliches (zumindest kaum was auf deutsch).
Ich habe zum einen eine Tabelle (namens "user") mit den Spalten user_id (Primary Key), username (unique) und passwort.
Dann habe ich noch eine Tabelle mit persönlichen Daten (namens "user_info") wie email adresse oder Telefonummer und eben auch mit einer Spalte user_id (ebenfalls Primary Key)damit man einwandfrei sehen kann welcher datensatz zu welchen user gehört.
Nun möchte ich die Spalte "user_id" der Tabelle "user_info" so mit der Spalte "user_id" der Tabelle "user" verknüpfen das ich keinen Datensatz in der tabelle "user_info" anlegen kann, der eine user_id hat, die nicht in in der Tabelle "user" existiert.
Desweiteren soll eine Änderung der user_id in der Tabelle "user" ebenfalls eine Änderung der user_id im zugehörigen Datensatz zur folge haben.
Das ist allerdings sekundär und nur zu Übungszwecken weil dieser Fall im konkreten Beispiel wohl nicht vorkommen wird.
Hauptsächlich soll das erstere Möglich sein.
Ich habe es folgendermaßen versucht:
geht aber schief
auch habe ich es statt
so probiert:
Allerding funktionieren beide obig aufgeführten Wünsche nicht. Es ist als wären es 2 ganz verschiedene Tabellen ohne jegliche Verknüpfung.
Hoffe wirklich jemand hat n Ratschlag. Bin frustriert
Übrigens benutze ich mysql version 5.0.45
Danke schonml für eure Mühen
P.S Falls jemand n gutes e-book oder ne gute webseite zum Theam SQL weiß (für etwas Anfänger oder Fortgeschrittenere) wäre ich für einen Link echt dankbar
ich habe mich nun durch alle möglich sql-tutorials gewühlt und im netz findet man sehr wehig einsteigerfreundliches (zumindest kaum was auf deutsch).
Ich habe zum einen eine Tabelle (namens "user") mit den Spalten user_id (Primary Key), username (unique) und passwort.
Dann habe ich noch eine Tabelle mit persönlichen Daten (namens "user_info") wie email adresse oder Telefonummer und eben auch mit einer Spalte user_id (ebenfalls Primary Key)damit man einwandfrei sehen kann welcher datensatz zu welchen user gehört.
Nun möchte ich die Spalte "user_id" der Tabelle "user_info" so mit der Spalte "user_id" der Tabelle "user" verknüpfen das ich keinen Datensatz in der tabelle "user_info" anlegen kann, der eine user_id hat, die nicht in in der Tabelle "user" existiert.
Desweiteren soll eine Änderung der user_id in der Tabelle "user" ebenfalls eine Änderung der user_id im zugehörigen Datensatz zur folge haben.
Das ist allerdings sekundär und nur zu Übungszwecken weil dieser Fall im konkreten Beispiel wohl nicht vorkommen wird.
Hauptsächlich soll das erstere Möglich sein.
Ich habe es folgendermaßen versucht:
Code:
create table user_info ( user_id int not null primary key references user(user_id), email varchar(32) not null, name varchar(32) not null, vorname varchar(32) not null, wohnort varchar(32) not null, plz int not null, strasse varchar(32) not null, telefonnr varchar(32) not null, faxnr varchar(32) not null )
auch habe ich es statt
Code:
user_id int not null primary key references user(user_id),
Code:
user_id int not null primary key, ..., ..., foreign key (user_id) reference user (user_id)
Hoffe wirklich jemand hat n Ratschlag. Bin frustriert
Übrigens benutze ich mysql version 5.0.45
Danke schonml für eure Mühen
P.S Falls jemand n gutes e-book oder ne gute webseite zum Theam SQL weiß (für etwas Anfänger oder Fortgeschrittenere) wäre ich für einen Link echt dankbar
Comment