Robert: MySQL, Foreign Key, Error 1005/Errno 150

Beitrag lesen

Hallöle Vinzenz,

CREATE TABLE IF NOT EXISTS categories
(
    id      INT(3) ZEROFILL NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name     VARCHAR(20) NOT NULL
) TYPE=INNODB;
Wenn Du einen bestimmten Namen für Deinen Index haben möchtest, dann solltest Du diesen im CREATE-TABLE-Statement angeben:

Ich will keinen bestimmten Namen für meinen Index. Ich will eine FOREIGN KEY - Verknüpfung.

CREATE  TABLE  IF  NOT  EXISTS categories
(
    id INT( 3  ) ZEROFILL NOT  NULL  AUTO_INCREMENT,
    name VARCHAR( 20  )  NOT  NULL ,
    PRIMARY KEY id( id )
) TYPE  = INNODB;

Das Verschieben des PRIMARY KEY aus der Spaltendeklaration nach unten bringt keine Änderung.

Vergiss bitte nicht vorher, die vorhandene Tabelle zu löschen :-)

Natürlich nicht. Zu Beginn dieses Scripts droppe ich alle Tables.
Sonst würd ich ja wahnsinnig.

Erfolgreich getestet unter MySQL 3.23.58

Schön. Nützt mir aber gar nichts. Denn unter 4.1.10 geht es bei mir nach wie vor nicht.

[... ellenlange Zitate aus dem Handbuch ...]
Bitte gib' in Zukunft nur die relevanten Links an, zitiere ggf. ein, zwei Sätze mit Angabe der Quelle (URL und evtl. Abschnitt).

Ich hab jeweils die Stellen zitiert, auf die ich mich direkt bezog. Und nicht mehr.

Robert