【发布时间】:2017-04-28 11:21:24
【问题描述】:
在这段代码中:
CREATE TABLE institution (
iid INT(6) AUTO_INCREMENT,
name VARCHAR(40) NOT NULL,
PRIMARY KEY (iid))
ENGINE = INNODB;
CREATE TABLE plan (
pid INT(2) AUTO_INCREMENT,
name VARCHAR(40) NOT NULL,
PRIMARY KEY (pid))
ENGINE = INNODB;
CREATE TABLE subscription (
iid INT(6),
pid INT(2),
PRIMARY KEY (iid, pid),
CONSTRAINT iid_FOREIGN_KEY FOREIGN KEY (iid) REFERENCES institution (iid),
CONSTRAINT pid_FOREIGN_KEY FOREIGN KEY (pid) REFERENCES plan (pid))
ENGINE = INNODB;
- 为什么 MySQL 只为“pid_FOREIGN_KEY”约束创建自动索引?为什么不给“iid_FOREIGN_KEY”呢?
- 如果我将“PRIMARY KEY (iid, pid)”更改为“PRIMARY KEY (pid, iid)" 是否会为 "iid_FOREIGN_KEY" 创建一个自动索引 而不是“pid_FOREIGN_KEY”的另一个?
MySQL creates an auto index for "pid_FOREIGN_KEY" CONSTRAINT only
【问题讨论】: