MySQL übernimmt keine Foreign Keys aus SQL-Script

User7634

Cadet 4th Year
Registriert
Aug. 2012
Beiträge
109
Moin,
ich hoffe, das ist hier das richtige Unterforum dazu.

Ich habe mir die für MySQL portierte adventureworks Datenbank von https://sourceforge.net/projects/awmysql/?source=typ_redirect heruntergeladen.
In der MySQL Workbench (6.3 CE) wollte ich Sie importieren. Das hat über File/Run SQL-Script auch funktioniert (ohne Fehlermeldung). Nur: die Foreign Key Constraints werden nicht generiert. Wenn ich über Database / Reverse Engineer das Schema erstelle und das Diagramm aufbaue, fehlen alle Beziehungen. Woran liegt das ?

VG
user7634
 
es sieht so aus (s.u.). Die portierte Datei ist ein Fremdprojekt, um diese Beispiel-Datenbank auch auf nicht Microsoft SQL-Servern verfügbar zu machen. In den Zeilen 23-33 der SQL-Datei steht:

Code:
CREATE TABLE  `adventureworks`.`address` (
  `AddressID` int(11) NOT NULL AUTO_INCREMENT,
  `AddressLine1` varchar(60) NOT NULL,
  `AddressLine2` varchar(60) DEFAULT NULL,
  `City` varchar(30) NOT NULL,
  `StateProvinceID` int(11) NOT NULL,
  `PostalCode` varchar(15) NOT NULL,
  `rowguid` varbinary(16) NOT NULL,
  `ModifiedDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`AddressID`)
) ENGINE=InnoDB AUTO_INCREMENT=32522 DEFAULT CHARSET=utf8;

und bei den anderen tables sieht es genauso aus...
 
Zuletzt bearbeitet:
Haben die Tabellen tatsächlich keine Constraints oder werden die beim Reverse Engineering nur einfach nicht erfasst ?

Prüfen mal die angelegten Tabellen in der DB per sql mit
show create table <TABLENAME>;
 
Sollten die Foreign Keys nicht über zB. FOREIGN KEY (`StateProvinceID`) definiert werden? Deine Tabelle hat sonst keine...
 
Ähm, ich glaube, da sind einfach keine Foreign Keys im Skript definiert.

Kann das sein ....
 
Der Auszug, den ich geschickt hatte, betraf nur das Anlegen eines tables. Die Datei ist riesig (>690.000 Zeilen im Editor). Ich füge Sie wg. der Größe nicht bei, aber man kann sie unter dem link herunterladen. Sitze gerade nicht an meinem Home-Rechner, kann also nicht die u.g. Befehle testen.

Später, nachdem alle tables angelegt sind, werden aber nach meiner Erinnerung mit 'alter table...' noch contraints hinzugefügt,
 
Ja, ich hatte das Script runtergeladen und mal
nach "constraint" und "foreign key" gesucht ( mit Notepad++)

Beides nicht vorhanden. Ich vermute
die Constraints sind beim ursprünglichen export
unterm Tisch gefallen.


Edit: Äh, ne doch nicht. Sorry, hatte "Berücksichte gHroß/Kleinschreibung bei der Suche an".
Ok, aber dann teste mal, was ich unter https://www.computerbase.de/forum/t...gn-keys-aus-sql-script.1589476/#post-18867943
geschrieben hatte


Nochmal Edit:
Wenn ich das richtig sehen, sind die "add constraints", die da drin sind
anscheinend nur in der Tabelle "databaselog" als Logeinträge enthalten.
Vielleicht kannst du sie da raus extrahieren und noch mal ausführen
 
Zuletzt bearbeitet:
Zurück
Oben