auflösen Ich möchte eine Verweise auf fremde Tabelle erstellen. aber ich erhalte den folgenden Fehler:Kann den Tabellennamen nicht in der Nähe von
query:
CREATE TABLE category_ids (id INT, post_id INT,
INDEX par_ind (post_id),
FOREIGN KEY (post_id) REFERENCES post(id)
ON DELETE CASCADE
) ENGINE=INNODB;
SHOW ENGINE BDB STATUS \ G:
------------------------
LATEST FOREIGN KEY ERROR
------------------------
2013-08-23 00:11:06 7f6f49e7b700 Error in foreign key constraint of table fun/category_ids:
FOREIGN KEY (post_id) REFERENCES post(id)
ON DELETE CASCADE
) ENGINE=INNODB:
Cannot resolve table name close to:
(id)
ON DELETE CASCADE
) ENGINE=INNODB
Beiträge Tabellenstruktur
mysql> describe post;
+-------------+-----------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-----------------------+------+-----+---------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
...
+-------------+-----------------------+------+-----+---------------------+----------------+
22 rows in set (0.00 sec)
es denkt „post“ ist ein reserviertes Wort, was ist, wenn Sie den Beitrag in dem Fremdschlüssel mit Rücken Zecken (d \ 'Post \' (id)) qualifiziert. –
Haben Sie eine Möglichkeit, zu überprüfen, ob Ihre Tabellen INNODB richtig verwenden und nicht etwas anderes? (Auch wenn Sie es eindeutig geschrieben haben, ja) – Sugar
Sie können 'SHOW CREATE TABLE' verwenden, um das für die referenzierte Tabelle verwendete Modul zu überprüfen. – deltab