CREATE TABLE DEPARTMENT (Dname VARCHAR(15) NOT NULL,
Dnumber INT NOT NULL,
Mgr_ssn CHAR(9) NOT NULL,
Mgr_start_Date DATE,
PRIMARY KEY(Dnumber),
UNIQUE(Dname),
FOREIGN KEY(Mgr_ssn) REFERENCES EMPLOYEE (Ssn)
ON DELETE SET DEFAULT ON UPDATE CASCADE);
我是MySQL的初學者。上面的命令使我這個:MySQL外鍵語法錯誤
無法添加外鍵約束
我已經試過SHOW ENGINE INNODB STATUS;
我查EMPLOYEE.Ssn的數據類型。 請幫忙。
編輯:我EMPLOYEE表
| employee | CREATE TABLE `employee` (
`Fname` varchar(10) DEFAULT NULL,
`Minit` char(1) DEFAULT NULL,
`Lname` varchar(10) DEFAULT NULL,
`Ssn` char(9) NOT NULL,
`Bdate` date DEFAULT NULL,
`Address` varchar(40) DEFAULT NULL,
`Sex` char(1) DEFAULT NULL,
`Salary` int(11) DEFAULT NULL,
`Super_ssn` char(9) DEFAULT NULL,
`Dno` int(11) DEFAULT NULL,
PRIMARY KEY (`Ssn`),
KEY `Super_ssn` (`Super_ssn`),
CONSTRAINT `employee_ibfk_1` FOREIGN KEY (`Super_ssn`) REFERENCES `EMPLOYEE` (`Ssn`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
你肯定FOREIGHN關鍵是拼寫一個h?或者是你粘貼時發生錯字 –
謝謝。我修正了它,但現在它給了我「不能添加外鍵約束」 –
「默認情況下,表別名在Unix上區分大小寫,但在Windows或OS X上不是這樣。......最好採用一致的約定,例如** always **使用小寫名稱**創建和引用數據庫和表**。爲了最大的便攜性和易用性,建議使用此約定。「 https://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivity.html – spencer7593