Chrisi: Foreign Keys Fehler 150

Hallo zusammen,

ich hab ein leidiges Problem beim Db Design mit meinen Foreign Keys. Beim createn der Datenbank bekommen ich den #1005 - Kann Tabelle ... nicht erzeugen (Fehler: 150).

Ich finde den Fehler hier einfgach nicht und würde euch gern um einen Blick auf das Statement bitten, vllt. springt euch ja etwas ins Auge was ich nicht sehe.

Ich habe MySQL 5.0.32 laufen.

Danke und Viele Grüße
Chrisi

CREATE TABLE `documents` (  
  `id_documents` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,  
  `id_documents_types` INTEGER UNSIGNED NOT NULL,  
  `id_statuses` INTEGER UNSIGNED NOT NULL,  
  `id_currencys` INTEGER UNSIGNED NOT NULL,  
  `id_payments` INTEGER UNSIGNED NOT NULL,  
  `id_customers` INTEGER UNSIGNED NOT NULL,  
  PRIMARY KEY(`id_documents`),  
  INDEX `documents_FKIndex1`(`id_customers`),  
  INDEX `documents_FKIndex2`(`id_payments`),  
  INDEX `documents_FKIndex3`(`id_currencys`),  
  INDEX `documents_FKIndex4`(`id_statuses`),  
  INDEX `documents_FKIndex5`(`id_documents_types`),  
  FOREIGN KEY(`id_customers`)  
    REFERENCES `customers`(`id_customers`)  
      ON DELETE NO ACTION  
      ON UPDATE NO ACTION,  
  FOREIGN KEY(`id_payments`)  
    REFERENCES `payments`(`id_payments`)  
      ON DELETE NO ACTION  
      ON UPDATE NO ACTION,  
  FOREIGN KEY(`id_currencys`)  
    REFERENCES `currencys`(`id_currencys`)  
      ON DELETE NO ACTION  
      ON UPDATE NO ACTION,  
  FOREIGN KEY(`id_statuses`)  
    REFERENCES `statuses`(`id_statuses`)  
      ON DELETE NO ACTION  
      ON UPDATE NO ACTION,  
  FOREIGN KEY(`id_documents_types`)  
    REFERENCES `documents_types`(`id_documents_types`)  
      ON DELETE NO ACTION  
      ON UPDATE NO ACTION  
)  
TYPE=InnoDB;
  1. Hi,

    ich hab ein leidiges Problem beim Db Design mit meinen Foreign Keys. Beim createn der Datenbank bekommen ich den #1005 - Kann Tabelle ... nicht erzeugen (Fehler: 150).

    Nachvollziehbar -

    CREATE TABLE documents (

    ...
    )
    TYPE=InnoDB;

      
    - und weg, sobald ich TYPE=InnoDB entferne.  
      
    Warum, kann ich dir gerade nicht sagen - ein anschließendes  
    `ALTER TABLE `documents` ENGINE=InnoDB`{:.language-sql}  
    schluckt mein MySQL 5.1.50 dann aber problemlos.  
      
    (Ob das ggf. bei der weiteren Verwendung Probleme nach sich ziehen könnte, weil irgendeine der Angaben in deinem CREATE TABLE-Statement nicht InnoDB-kompatibel ist, müsstest du selber nachschlagen.)  
      
    MfG ChrisB  
      
    
    -- 
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    
  2. Hi!

    ich hab ein leidiges Problem beim Db Design mit meinen Foreign Keys. Beim createn der Datenbank bekommen ich den #1005 - Kann Tabelle ... nicht erzeugen (Fehler: 150).

    Existieren die referenzierten Tabellen? Stimmen die Datentypen überein? Kommt eine explizitere Fehlermeldung, wenn du zuerst die Tabelle anlegst und dann die Foreign Keys hinzufügst?

    Lo!

    1. Hallo zusammen

      Stimmen die Datentypen überein? Kommt eine explizitere Fehlermeldung, wenn du zuerst die Tabelle anlegst und dann die Foreign Keys hinzufügst?

      Treffer :) Ich hatte noch eine Tabelle mit MyISAM stehen, manchmal fährt man sich aber auch in eine Sackgasse...

      Danke und Grüße
      Chrisi