2017-05-10 6 views
2

Ich versuche, zwei verschiedene Tabellen Felder durch mySql zu beschränken. Tabelle (Feld): Kommentare (item_id) mit Punkt (ITEM_ID) mit diesem Code:mySql Constraint-Felder funktioniert nicht

ALTER TABLE 'comments' ADD CONSTRAINT comment_item 
FOREIGN KEY(item_id) REFERENCES items(item_ID) 
ON UPDATE CASCADE 
ON DELETE CASCADE; 

aber ich bin immer diese Fehlermeldung:

1064 - Sie haben einen Fehler in Ihrer SQL Syntax; Sie in der Bedienungsanleitung für die richtige Syntax verwenden in der Nähe von '' Kommentare ADD CONSTRAINT COMMENT_ITEM

FOREIGN KEY (item_id) REFERENCES Artikel (es‘at line 1

was das zu Ihrem MySQL-Server-Version entspricht, ist Problem? ich InnoDB als Storage Engine bin mit und utf_general_ci als Sortierungs.

+0

Ich habe den Grund geschrieben. –

Antwort

1

Eigentlich müssen Sie nicht einfache Anführungszeichen benötigen, MySQL documentation nach Sie Ihre Aussage so schreiben könnte:

ALTER TABLE comments ADD CONSTRAINT comment_item 
FOREIGN KEY(item_id) REFERENCES items(item_ID) 
ON UPDATE CASCADE 
ON DELETE CASCADE; 

Sie auch here for an example überprüfen

+1

Ja, es hat funktioniert: D Danke @lloiacono –

1

Änderung

ALTER TABLE 'comments' ADD CONSTRAINT comment_item 

zu

ALTER TABLE `comments` ADD CONSTRAINT comment_item 

Verwenden Sie `anstelle von '.

oder schreiben Sie einfach ohne ' wie folgt aus:

ALTER TABLE comments 
+0

Vielen Dank @Danyal Sandeelo –