我不確定,我錯過了什麼?無論我多麼努力地嘗試改變價值觀,它總是給我同樣的錯誤。順便說一下,這個數據庫是通過Java代碼完成的。這是第一個表:爲什麼我得到errno:150「外鍵約束不正確」?
第一個表(表名= DoctorsDetails)
sql = "CREATE TABLE IF NOT EXISTS " + tableName +
" (doctor_id INT not NULL AUTO_INCREMENT UNIQUE,"+
" first_name VARCHAR(50)," +
" mid_name VARCHAR(50)," +
" last_name VARCHAR(50)," +
" tel VARCHAR(32)," +
" fax VARCHAR(32)," +
" email VARCHAR(40)," +
" agenda TEXT," +
" PRIMARY KEY (doctor_id))" +
" ENGINE=InnoDB DEFAULT CHARSET=utf8";
這是第二個表(表名=學生):
sql = "CREATE TABLE IF NOT EXISTS " + tableName +
" (student_id INT NOT NULL AUTO_INCREMENT UNIQUE," +
" first_name VARCHAR(50)," +
" mid_name VARCHAR(50)," +
" last_name VARCHAR(50)," +
" age INT(50)," +
" class INT(11)," +
" gender CHAR(1)," +
" doctor_id INT," +
" diseases SET('a', 'b', 'c', 'd')," + // TODO: replace the values in set with real
" more_info TEXT," +
" height INT(255)," +
" weight INT(255)," +
" waist INT(255)," +
" appointment VARCHAR(50)," +
" PRIMARY KEY (student_id)," +
" CONSTRAINT FK_StudentDoctor"+
" FOREIGN KEY(doctor_id) REFERENCES doctors(doctor_id))" +
" ENGINE=InnoDB DEFAULT CHARSET=utf8";
難道你們去翻它?我一直在尋找它2天,無法弄清楚爲什麼我得到這個錯誤。 2年前,我從未學習過MySQL。 MySQL中有東西改變了嗎?
OMG我怎麼沒有發現....我覺得如此轉儲:/我一直在玩這個數據庫從昨天 –