хотите определить внешний ключ как часть первичного ключа в таблице базы данных mysql - PullRequest
0 голосов
/ 25 марта 2020

есть мои запросы. почему я получаю ошибку?

CREATE TABLE researcher(
    RID INT AUTO_INCREMENT,
    FIRST_NAME VARCHAR(30),
    LAST_NAME VARCHAR(30),
    COUNTRY VARCHAR(30),
    WORKING_YEAR INT,
    Experience INT DEFAULT 0,
    CURRENT_WORK VARCHAR(30) DEFAULT "no entry",
    CONSTRAINT con1 PRIMARY KEY(RID)
)

затем

CREATE TABLE IF NOT EXISTS reviews
(
    RID INT,
    REVIEW_ID INT AUTO_INCREMENT,
    REVIEW_TIME TIMESTAMP DEFAULT "0000-00-00 00:00:00",
    CONSTRAINT for3 FOREIGN KEY(RID) REFERENCES researcher(RID),
    CONSTRAINT con5 PRIMARY KEY(RID, REVIEW_ID)
 )

затем MySQL сказал:

#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

где моя вина?

1 Ответ

0 голосов
/ 25 марта 2020

Если используется AUTO_INCREMENT, необходимо указать первичный ключ для него

пример

CREATE TABLE IF NOT EXISTS reviews
(
    RID INT,
    REVIEW_ID INT AUTO_INCREMENT,
    REVIEW_TIME TIMESTAMP DEFAULT "0000-00-00 00:00:00",
    CONSTRAINT for3 FOREIGN KEY(RID) REFERENCES researcher(RID),
    CONSTRAINT con5 PRIMARY KEY(REVIEW_ID)
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...