2012-04-17 17 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) 
) 

Las tablas se crearon correctamente, pero ALTER TABLE no funciona. no puedo entender por qué?ALTER TABLE agregar restricción

que utilizamos como referencia http://www.w3schools.com/sql/sql_foreignkey.asp

Error 1064 - Usted tiene un error en su sintaxis SQL; compruebe el manual que corresponde a su versión del servidor MySQL para el sintaxis derecho al uso cerca '(CONSTREÑIMIENTO userPropertie FOREIGN KEY ADD (propiedades) Referencias Propiedades (' en la línea 2

Respuesta

60

omite el paréntesis:

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

¡oh hombre, gracias! – ABLX

Cuestiones relacionadas