Hallo Robert
ich versuche gerade, in MySQL ( version: 4.1.10a-nt ) zwei Tabellen zu verknüpfen.
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:
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;
Nun sollte die nächste Anweisung erfolgreich ausgeführt werden können.
Vergiss bitte nicht vorher, die vorhandene Tabelle zu löschen :-)
CREATE TABLE IF NOT EXISTS places
(
id INT(6) ZEROFILL NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
category INT(3) NOT NULL,
INDEX (category),
FOREIGN KEY (category) REFERENCES categories (id)
) TYPE=INNODB;
Erfolgreich getestet unter MySQL 3.23.58
[... 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).
Freundliche Grüße
Vinzenz