Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Datenbank Fremdschlüssel und php Formular

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Wiesenblume, 29 Juli 2020.

  1. Wiesenblume

    Wiesenblume Neuer Benutzer

    Hallo Ihr Lieben,

    ich suche schon eine ganze Zeit, aber scheinbar suche ich mit den falschen Stichworten oder es ist ein großes Geheimnis.
    Ich habe zwei Tabellen, die ich über Formulare mit Php bereits befüllen kann. Diese Tabellen sind über Primärschlüssel und Fremdschlüssel verbunden. Wie bekomme ich meine Daten in die Fremdschlüsseltabelle?
    Die User-Tabelle hat eine ID AUTO_INCREMENT, die zweite Tabelle auch. Wenn die Zweite Tabelle über ein Formular befüllt wird, möchte ich das die Fremdschlüssel gleich mit befüllt werden. Scheinbar tut es das nicht von alleine. Noch vorweg, ich habe von PHP eigentlich noch nicht viel Ahnung, ich wusel mich durchs Internet auf der suche nach passenden Beispielen und passe es dann an.

    Schon mal vielen Dank

    Liebe Grüße Tini
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Du wirst erst in User-Tabelle einfügen müssen und die vergebene ID erfragen, das trägst Du dann in die zweite Tabelle ein. Oder Du verwendest eine coole Datenbank wie ich:

    Code:
    test=# create table master(id int generated always as identity primary key, name text);
    CREATE TABLE
    test=*# create table detail (master_id int references master, val text);
    CREATE TABLE
    test=*# with new_id as (insert into master (name) values ('Name 1') returning id) insert into detail (master_id, val) select id, 'das kommt in detail' from new_id;
    INSERT 0 1
    test=*# select * from master;
     id |  name  
    ----+--------
      1 | Name 1
    (1 row)
    
    test=*# select * from detail ;
     master_id |         val         
    -----------+---------------------
             1 | das kommt in detail
    (1 row)
    
    test=*#
    
    wie man sieht, ist das nur EIN Gang zur Datenbank und ich trage gleichzeitig in die master-Tabelle ein, speichere mir die vergebene ID und verwende diese und den weiteren Inhalt für das Insert in die detail-Tabelle.
     
  3. Wiesenblume

    Wiesenblume Neuer Benutzer

    Ah, super vielen lieben Dank.
    Ich werde mal mein Glück versuchen :)
    Danke
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden