2012-04-17 11 views
19
CREATE TABLE Properties 
(
    ID int AUTO_INCREMENT, 
    language int, 
    stonecolor int, 
    gamefield int, 
    UserID int, 
    PRIMARY KEY(ID), 
    FOREIGN KEY(language) REFERENCES Language(ID), 
    FOREIGN KEY(stonecolor) REFERENCES StoneColor(ID), 
    FOREIGN KEY(gamefield) REFERENCES GameField(ID) 
) ENGINE = INNODB; 

CREATE TABLE User 
(
    ID int AUTO_INCREMENT, 
    vorname varchar(30) NOT NULL, 
    name varchar(30) NOT NULL, 
    email varchar(40) NOT NULL, 
    password varchar(40) NOT NULL, 
    nickname varchar(15) NOT NULL, 
    score int, 
    isadmin int DEFAULT 0, 
    gamesPlayed int, 
    properties int NOT NULL, 
    PRIMARY KEY(ID), 
    UNIQUE (email), 
    UNIQUE (nickname) 

) ENGINE = INNODB; 

ALTER TABLE User 
(
    ADD CONSTRAINT userPropertie 
    FOREIGN KEY(properties) 
    REFERENCES Properties(ID) 
) 

Tabele zostały poprawnie utworzone, ale tabela ALTER nie działa. Nie mogę zrozumieć dlaczego?ALTER TABLE dodać ograniczenie

użyłem tego jako odniesienie http://www.w3schools.com/sql/sql_foreignkey.asp

Error 1064 - Masz błąd w składni SQL; sprawdzić podręcznika, który odpowiada twojej wersji serwera MySQL dla prawego składnię używaną w pobliżu '(ograniczenie userPropertie FOREIGN KEY (właściwości ADD) REFERENCJE Properties (' at line 2

Odpowiedz

60

pominąć nawias:

ALTER TABLE User 
    ADD CONSTRAINT userProperties 
    FOREIGN KEY(properties) 
    REFERENCES Properties(ID) 
+3

o człowieku, dziękuję! – ABLX