我在創建數據庫表時遇到問題。我做了一些事,如:不明白爲什麼我收到錯誤1215:無法添加外鍵
CREATE TABLE STREAM( STREAM_ID INT AUTO_INCREMENT NOT NULL PRIMARY KEY, STREAM_NAME VARCHAR(100) NOT NULL, TOTAL_SEM INT NOT NULL )Engine=InnoDB;
然後:
CREATE TABLE SEMESTER( STREAM_ID INT AUTO_INCREMENT NOT NULL, SEMESTER INT NOT NULL, SUB_NAME VARCHAR(100) NOT NULL, SUB_CODE VARCHAR(100) NOT NULL, PRIMARY KEY(STREAM_ID,SUB_CODE), CONSTRAINT STUDENT_STREAM_FK5 FOREIGN KEY (STREAM_ID) REFERENCES STREAM(STREAM_ID) )Engine=InnoDB;
它創建數據庫表非常好。但是,當我創建另一個表引用SUB_CODE
在SEMESTER
表它給了我錯誤:1215:
CREATE TABLE SUBJECT( Q_NO INT AUTO_INCREMENT NOT NULL, SUB_CODE VARCHAR(100) NOT NULL, SEMESTER VARCHAR(100) NOT NULL, SET_NO INT NOT NULL, Q_TYPE VARCHAR(100) NOT NULL, QUESTION VARCHAR(200) NOT NULL, CHOICE_1 VARCHAR(30), CHOICE_2 VARCHAR(30), CHOICE_3 VARCHAR(30), CHOICE_4 VARCHAR(30), CORRECT VARCHAR(30), ANSWER VARCHAR(30), MARKS FLOAT, PRIMARY KEY(Q_NO,SUB_CODE), CONSTRAINT STUDENT_SEMESTER_FK6 FOREIGN KEY (SUB_CODE) REFERENCES SEMESTER(SUB_CODE) )Engine=InnoDB;
在這種情況下,在創建SUBJECT
表提示錯誤:1215。我不明白,我創建了表SEMESTER
就像我嘗試創建SUBJECT
一樣,那麼爲什麼它不工作? 我正在使用MySQL服務器5.6。
請幫忙! 在此先感謝。