Ich wollte eine Datenbank genau wie unten machen:MySQL: errno: 105 kann nicht Tabelle erstellen
So wollte ich die Primär- und Fremdschlüssel für jede Tabelle definieren. Basierend auf this Antwort, sah ich, dass:
"Stadt" Tabelle hat 1 PK (ID) und 1 FK (Länderkennung)
"countrylanguage" Tabelle hat 2 PK (Sprache und Länderkennung) und 1 FK (Länderkennung)
"Land" Tabelle hat 1 PK (Kodex)
So versuchte ich t o etwas Magie auf einem „vorgewärmten“ Code machen:
CREATE TABLE `City` (
`ID` int(11) NOT NULL,
`Name` varchar(35) NOT NULL ,
`CountryCode` varchar(3) NOT NULL DEFAULT '',
`District` varchar(20) NOT NULL ,
`Population` int(11) NOT NULL ,
PRIMARY KEY(`ID`) ,
FOREIGN KEY(`CountryCode`) REFERENCES `Country`(`Code`)
) ;
CREATE TABLE `CountryLanguage` (
`CountryCode` varchar(3) NOT NULL DEFAULT '',
`Language` varchar(30) NOT NULL ,
`IsOfficial` varchar(30) NOT NULL ,
`Percentage` float(4,1) NOT NULL ,
PRIMARY KEY(`Language`),
FOREIGN KEY(`CountryCode`) REFERENCES `Country`(`Code`)
) ;
CREATE TABLE `Country` (
`Code` varchar(3) NOT NULL DEFAULT '',
`Name` varchar(52) NOT NULL DEFAULT '',
`Continent` varchar(63),
`Region` varchar(26) NOT NULL DEFAULT '',
`SurfaceArea` float(10,2) NOT NULL DEFAULT '0.00',
`IndepYear` smallint(6) DEFAULT NULL,
`Population` int(11) NOT NULL DEFAULT '0',
`LifeExpectancy` float(3,1) DEFAULT NULL,
`GNP` float(10,2) DEFAULT NULL,
`GNPOld` float(10,2) DEFAULT NULL,
`LocalName` varchar(45) NOT NULL DEFAULT '',
`GovernmentForm` varchar(45) NOT NULL DEFAULT '',
`HeadOfState` varchar(60) DEFAULT NULL,
`Capital` int(11) DEFAULT NULL,
`Code2` varchar(2) NOT NULL DEFAULT '',
PRIMARY KEY(`Code`)
) ;
aber mein good ol ‚mysql Kommandozeilen-Client die gleiche ERROR 1005 Sache zweimal, und sagt, dass es keine Tabellen erstellen‘ test.city 'und' test.countrylanguage ' mit dem errno: 150 thingy als eine Erklärung.
Also habe ich hier ein wenig gesucht und ich habe einige Antworten bezüglich der Tabellenelemente gefunden, die nicht denselben Typ/Parameter haben (zB INT (2) bis INT (2) NOT NULL). Soweit ich sehen konnte, passiert hier nichts dergleichen.
Was ist mein Kaffee-drained Gehirn fehlt hier?
Vielen Dank für Ihre Zeit im Voraus.
Dies kann nicht als mysql und sql-Server markiert werden. Wählen Sie eine – WillardSolutions
Ich war dabei, eine Bearbeitung zu machen, um es zu entfernen. Es tut mir Leid. – Coursal