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

wo ist mein Fehler?

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von akretschmer, 13 März 2013.

  1. akretschmer

    akretschmer Datenbank-Guru

    Code:
    Server version: 5.1.67 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> create table besitzer(besitzer_id int primary key) engine innodb;
    Query OK, 0 rows affected (0.10 sec)
    
    mysql> create table mietobjekt (objekt_id int primary key, besitzer int references besitzer) engine innodb;
    Query OK, 0 rows affected (0.08 sec)
    
    mysql> insert into mietobjekt values (1,1);
    Query OK, 1 row affected (0.07 sec)
    
    Kann mir bitte jemand, der sich mit MySQL auskennt, das erklären? Ich dachte, InnoDB kann RI?


    Andreas
     
  2. ukulele

    ukulele Datenbank-Guru

    Wiso gibst du beim referenzieren nur die Tabelle, nicht aber die Spalte an?
     
  3. akretschmer

    akretschmer Datenbank-Guru

    Das ist einklich egal, da er erkennen sollte, daß der PK da gemeint ist. Geht so auch in PG, und ich denke, das ist so gemäß der SQL-Norm. Ich hab aber inzwischen eine Erklärung: um der SQL-Spec zu genügen, nimmt MySQL das an. Und wirft es weg. Um es richtig zu machen braucht es eine extra Definition.

    Also, mal wieder: MySQL ist in Bezug zur SQL-Spec so, daß es alles annimmt, um es zu ignorieren. Immerhin funktioniert es erst mal, man genügt der SQL-Norm. So wie auch bei CHECK-Constraints, welche letztlich Placebos sind. Kann man sich nüchtern gar nicht vorstellen, was die Programmierer da für Zeugs gekifft haben müssen.

    Andreas
     
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