SQL 테이블에 문제가 있습니다. 그래서 나는 Usertable을 가지고있다 :MySQL MariaDB는 외래 키로 테이블 생성을하지 않습니다.
CREATE TABLE IF NOT EXISTS `user` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`NICKNAME` varchar(50) NOT NULL,
`PASSWORD` varchar(255) NOT NULL,
`EMAIL` varchar(50) DEFAULT NULL,
PRIMARY KEY (`NICKNAME`),
UNIQUE KEY `ID` (`ID`)
) ;
이 테이블은 이미 존재하며 아무런 문제없이 만들어졌다. 나는이 같은 점수 표를 만들려면 :
나는이 errormassage 얻을 쿼리의 실행에CREATE TABLE IF NOT EXISTS `scores` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`NICKNAME` varchar(50) NOT NULL,
`HIGHSCORE` int(11) NOT NULL,
PRIMARY KEY (`ID`),
FOREIGN KEY (NICKNAME) REFERENCES USER(Nickname)
)
:
**#1005 - Kann Tabelle `xxxxx`.`scores` nicht erzeugen (Fehler: 150 "Foreign key constraint is incorrectly formed") (Details…)**
독일어 그것 및 캔트 표, 오류 150을 만들라고를 어디서 볼 수 없습니다 주요 제약 조건이 잘못되었습니다. postgreSQL에서 같은 구문을 사용했는데 제대로 작동했지만 MySQL은이를 받아들이지 않습니다. 어떤 아이디어?
에 추가 할 수 NOT이 NULL NOT ( 'ID' INT (11)'EXISTS user' 경우 테이블 만들기 자동 증가, 'NICKNAME'의 VARCHAR (50) NULL NOT, 'PASSWORD'의 VARCHAR (255) NOT NULL, 'EMAIL'의 VARCHAR (50) 초기 NULL, PRIMARY KEY ('NICKNAME') UNIQUE KEY'ID' (' ID'), 고유 키'NICKNAME' ('NICKNAME') ) –
@AraLight. . . 기본 코드로'nickname'을 사용하여 원래 코드가 작동해야합니다. 하지만 정수 열이 기본 키가되도록 users 테이블을 변경했습니다. –