想要将外键定义为 mysql 数据库 table 中主键的一部分

want to define foreign key as a part of primary key in mysql database table

这是我的疑问。为什么我收到错误?

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

我错在哪里?

如果使用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)
)