下面的MySQL代碼...多對一的關係?
CREATE TABLE Employee (
id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
departmentId TINYINT UNSIGNED NOT NULL
COMMENT "CONSTRAINT FOREIGN KEY (departmentId) REFERENCES Department(id)",
firstName VARCHAR(20) NOT NULL,
lastName VARCHAR(40) NOT NULL,
email VARCHAR(60) NOT NULL,
ext SMALLINT UNSIGNED NULL,
hireDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
leaveDate DATETIME NULL,
INDEX name (lastName, firstName),
INDEX (departmentId)
)
CREATE TABLE Department (
id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(40),
UNIQUE (name)
)
...定義了許多給員工和部門之間的一個關係。換句話說,一個員工只能在一個部門,但一個部門可以有很多員工。但有人可以更詳細地解釋這一點嗎?上面的代碼是如何告訴我的?
僅供參考 - 您可能不應該爲departmentId使用tinyint,您會遇到麻煩。只需使用Int。 – Difster
這些表之間沒有定義關係。閱讀['CREATE TABLE'](https://dev.mysql.com/doc/refman/5.7/en/create-table.html)語句的語法。 – axiac
@axiac原則上你是對的,但'comment'被yii框架讀取並用於自動定義關係。 – Grateful