Announcement

Collapse
No announcement yet.

Referenzschlüssel setzen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Referenzschlüssel setzen

    Hallo,

    Bei der Tabelle "test2" werden in den Spalten "host_id"
    und "sub_id" leider keine Referenzschlüssel erstellt.

    Code:
    create table test1 (
    id integer primary key auto_increment not null, bezeichnung varchar(255)
    ) engine = innodb ; create table test2 (
    id integer primary key auto_increment not null, host_id integer not null references test1, sub_id integer not null references test1
    ) engine = innodb ;
    Kann es daran liegen, dass beide Fremdschlüssel auf den gleichen Primärschlüssel verweisen?

    Gruß
    mirus

  • #2
    Die DB setzt keine Werte für Foreign Keys - das musst schon du selbst machen wenn Du den Datensatz in test2 einfügst.

    Dim
    Zitat Tom Kyte:
    I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

    Comment


    • #3
      Bei folgender Anweisung erhalte ich keinen Fehler:

      Code:
      insert into test2
      (host_id, sub_id) values (1,2)
      ;
      obwohl die Datensätze 1 und 2 noch nicht vorhanden sind!

      Gruß
      mirus

      Comment


      • #4
        Mit folgender Tabellendefinition hat es funktioniert:

        Code:
        create table test2
        (
        id integer primary key auto_increment not null, host_id integer, sub_id integer, foreign key (host_id) references test1 (id), foreign key (sub_id) references test1 (id),
        ) engine=innodb;
        Die DB setzt keine Werte für Foreign Keys - das musst schon du selbst machen wenn Du den Datensatz in test2 einfügst.
        Dim
        Ich weiß jetzt nicht, ob du das gemeint hast, weil du von Datensatz geredet hast und nicht von der Tabellendefinition.

        Gruß
        mirus

        Comment

        Working...
        X