有我的疑问。为什么我会出错?
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)
)