2016-11-07 4 views
0

Ich bekomme diesen Syntaxfehler aber für das Leben von mir kann nicht die Antwort anywhere finden, speziell, dass ich neu in MySQL bin.MySQL Syntaxfehler

Fehlermeldung: # 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; Sie in die Bedienungsanleitung zu Ihrer MySQL-Server-Version für die richtige Syntax entspricht in der Nähe zu verwenden 'BEZUG KLASSEN (CLASSESNO), CONSTRAINT CLASSES_FOREIGN_KEY FOREIGN KEY (DE' in Zeile 10

CREATE TABLE CLASSES (
CLASSESNO    NUMERIC(4) NOT NULL, 
CNAME    CHAR(10), 
CJOB     CHAR(9), 
CMGR     NUMERIC(4), 
CHIREDATE   DATE, 
CSAL     NUMERIC(7,2), 
CCOMM    NUMERIC(7,2), 
CDEPTNO    NUMERIC(2) NOT NULL, 
CONSTRAINT CLASSES_SELF_KEY REFERENCES CLASSES (CLASSESNO), 
CONSTRAINT CLASSES_FOREIGN_KEY FOREIGN KEY (DEPTNO) REFERENCES DEPT (DEPTNO), 
CONSTRAINT CLASSES_PRIMARY_KEY PRIMARY KEY (CLASSESNO)); 
+0

Welche Art von Einschränkung ist '' CLASSES_SELF_KEY? Fremdschlüssel? einzigartig? Sie nicht den Typ angegeben haben. – Galz

+0

Lange Rede kurzer Sinn, überprüfen Sie die Handbuchseiten auf Syntaxfehler – Drew

Antwort

1

Fehlende Art von constrain hier (Fremdschlüssel, UNIQUE ,,,)

CONSTRAINT CLASSES_SELF_KEY ??????? REFERENCES CLASSES (CLASSESNO), 
+0

Danke, ich geändert es zu 'CONSTRAINT CLASSES_SELF_KEY FREMDSCHLÜSSEL (CLASSESNO) REFERENZEN KLASSEN (CLASSESNO),' Aber Es hat mir einen anderen Fehler: # 1005 - kann Tabelle 'st133325834.CLASSES' nicht erstellen (errno: 150) –

+0

Das liegt daran, dass eine Spalte sich nicht in einem Fremdschlüssel [bearbeiten] referenzieren kann. Um die Hierarchie zu erstellen, die Sie versuchen, müssen Sie (1) classesno als Primärschlüssel erstellen und (2) ein parent_classesno erstellen. In diesem Fall wäre es ein Fremdschlüssel parent_classesno references classes (classesno). –

+0

@TGray richtig .. danke – scaisEdge