programing

ALTER TABLE 제약 조건

cafebook 2023. 10. 30. 21:15
반응형

ALTER TABLE 제약 조건

User(사용자) 및 Properties(속성) 테이블이 제대로 작성되었습니다.

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안 돼요.

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

왜 그런지 모르겠어요?

저는 이것을 http://www.w3schools.com/sql/sql_foreignkey.asp 의 참고 자료로 사용했습니다.

오류 1064 - SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 2행에서 '( ADD CONSTRETT userProperty FOREN KEY(properties) REFERINS Properties(') REFERINS Properties(') REFERINS Properties() Properties) Properties(' 근처에 사용할 올바른 구문을 확인하십시오.

괄호를 생략합니다.

ALTER TABLE User 
    ADD CONSTRAINT userProperties
    FOREIGN KEY(properties)
    REFERENCES Properties(ID)
ALTER TABLE `User`
ADD CONSTRAINT `user_properties_foreign`
FOREIGN KEY (`properties`)
REFERENCES `Properties` (`ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
alter table User 
    add constraint userProperties
    foreign key (properties)
    references Properties(ID)

언급URL : https://stackoverflow.com/questions/10193153/alter-table-add-constraint

반응형