Tabelle wird nicht erstellt

Hi akretschmer

Danke für deine Antwort und deine Bemühungen! Das hab ich beim zweiten Hinschauen auch entdeckt und bereits korrigiert.
Nach einem weiteren Versuch weigert sich der Server jetzt, die Zwischentabelle zur GalerieTabelle zu erstellen.
Ich habe mir das gerade angesehen, habe aber den Fehler noch nicht entdecken können. Deshalb hier nochmal der Code:

Da kommt wieder der 150er. Schau also auf den referenzierten Tabellen nach, was nicht stimmt. Oder steig endlich auf PostgreSQL um, da bekommst auch sinnvolle Fehlermeldungen:

Code:
test=*# create table x1 (id int primary key);
CREATE TABLE
test=*# create table x2 (x1_id text references x1);
ERROR:  foreign key constraint "x2_x1_id_fkey" cannot be implemented
DETAIL:  Key columns "x1_id" and "id" are of incompatible types: text and integer.
STATEMENT:  create table x2 (x1_id text references x1);
ERROR:  foreign key constraint "x2_x1_id_fkey" cannot be implemented
DETAIL:  Key columns "x1_id" and "id" are of incompatible types: text and integer.
test=*#
 
Werbung:
Hi akretschmer

Oder steig endlich auf PostgreSQL um, da bekommst auch sinnvolle Fehlermeldungen:

Das ist sicher ein Grund. Zusätzlich sind die Lizenzbedingungen von MySQL nicht ganz ohne - mit meiner DB-Anwendung darf ich die benötigte Treiber-DLL nur weitergeben, wenn mein Programm unter der selben Lizenz wie MySQL steht.

Aber jetzt wirds doch etwas interessanter, denn jetzt kommen wir dahin, wo ich die Erweiterungen eingefügt habe. Die 'galerietabelle_has_bilddescribetabelle' war ja ursprünglich die Zwischentabelle zur Galerietabelle - die gibts jetzt zwar immer noch, allerdings ist jetzt die HTML-Tabelle dazwischengerutscht. Und deshalb musste die 'galerietabelle_has_bilddescribetabelle' der bilddescribetabelle_has_HtmlTabelle weichen. Und die machte zwar keine Zicken, wurde aber nicht erstellt. Der neueste Fehler ist:

Code:
Executing SQL script in server
ERROR: Error 1005: Can't create table 'contentmasterdata.css-tabelle' (errno: 150)
SQL Code:
        CREATE TABLE IF NOT EXISTS `ContentMasterData`.`CSS-Tabelle` (
          `idCSS` INT UNSIGNED NOT NULL AUTO_INCREMENT,
          `HtmlTabelle_idHtml` INT UNSIGNED NOT NULL,
          `PageCSS` LONGTEXT NOT NULL,
          `MenueCSS` LONGTEXT NOT NULL,
          PRIMARY KEY (`idCSS`),
          INDEX `fk_CSS-Tabelle_HtmlTabelle1_idx` (`HtmlTabelle_idHtml` ASC),
          CONSTRAINT `fk_CSS-Tabelle_HtmlTabelle1`
            FOREIGN KEY (`HtmlTabelle_idHtml`)
            REFERENCES `ContentMasterData`.`HtmlTabelle` (`idHtml`)
            ON DELETE NO ACTION
            ON UPDATE NO ACTION)
        ENGINE = InnoDB
Wenn ich mir das jetzt so anschaue, ist es hier wirklich der Primarykey; der ist, anders als in den andern Tabellen weder UNSIGNED noch NOT NULL;

Gruss
Delbor
 
Werbung:
Hi akretschmer
Der PK war es nicht - ich hab mal die Beziehung umgedreht - nach der hätte es mehrere Datensätze in der CSS-Tabelle gegeben für eine HTML-Seite. In der Realitaet wird ein CSS-Datensatz für mehrere HTML-Seiten benötigt.
Das Resultat zeigt der Anhang:)

Vielen Dank für deine Geduld!

Gruss
Delbor
 

Anhänge

  • ForwardEngineering.JPG
    ForwardEngineering.JPG
    23,7 KB · Aufrufe: 12
Zurück
Oben