mySQL - Fremdschlüssel



  • Hallo zusammen,

    ich habe irgendwie ein problem mit mySQL...
    also ich habe 2 tabellen:
    table user
    (uID,uName,uAccount,uPass)

    table planet
    (pID,pName,uID(fremdschluessel))

    beide vom Type InnoDB

    ich würde jetzt gerne wissen wie man den genau die verschiedenen Einträge gleichzeitig macht.
    mySQL ists es egal welche Tabelle ich zuerst mit Werten fülle und da fehlt mir irgendwie das Verständnis...

    Wenn ich einen "user" Datensatz anlege, müsste doch auch automatisch ein Datensatz in "planet" angelegt werden.... und zwar pName=NULL pID="eine Zahl" und uID="dieselbe Zahl wie bei user.uID". Oder verstehe ich da etwas falsch?

    Naja, vielleicht kann mir das jemand irgendwie verständlich machen... DANKE!



  • SELECT name, name FROM users, planets AS record
    SET record.name(0)="benno the king"
    SET record.name(1)="mars"
    so mueßte es gehen^^

    EDIT
    oder wilst du gar nicht neue eerzeugen??



  • noobie schrieb:

    Hallo zusammen,

    ich habe irgendwie ein problem mit mySQL...
    also ich habe 2 tabellen:
    table user
    (uID,uName,uAccount,uPass)

    table planet
    (pID,pName,uID(fremdschluessel))

    beide vom Type InnoDB

    ich würde jetzt gerne wissen wie man den genau die verschiedenen Einträge gleichzeitig macht.
    mySQL ists es egal welche Tabelle ich zuerst mit Werten fülle und da fehlt mir irgendwie das Verständnis...

    Wenn ich einen "user" Datensatz anlege, müsste doch auch automatisch ein Datensatz in "planet" angelegt werden.... und zwar pName=NULL pID="eine Zahl" und uID="dieselbe Zahl wie bei user.uID". Oder verstehe ich da etwas falsch?

    Naja, vielleicht kann mir das jemand irgendwie verständlich machen... DANKE!

    Nein, du musst beide Tabellen selbst füllen.
    Um zu vermeiden das nur eine Tabelle gefüllt wird kannst du mit einer Transaktion arbeiten und erst nach dem zweiten Insert Statment die Daten in die weg DB schreiben.



  • Vielen Dank für eure Antworten.
    Ja, ich werde wohl die Transaktion benutzen.


Anmelden zum Antworten