Подтвердить что ты не робот

ALTER TABLE добавить ограничение

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)
)

Таблицы были созданы правильно, но ALTER TABLE не работает. не могу понять, почему?

Я использовал это как ссылку http://www.w3schools.com/sql/sql_foreignkey.asp

Ошибка 1064 - У вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MySQL, для правильного синтаксиса для использования рядом с '(     ADD CONSTRAINT userPropertie     FOREIGN KEY (свойства)     СПИСОК ЛИТЕРАТУРЫ Свойства ('в строке 2

4b9b3361

Ответ 1

Опустите круглую скобку:

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

Ответ 2

ALTER TABLE 'User'
ADD CONSTRAINT 'user_properties_foreign'
FOREIGN KEY ('properties')
REFERENCES 'Properties' ('ID')
ON DELETE NO ACTION
ON UPDATE NO ACTION;