【发布时间】:2014-10-19 18:44:59
【问题描述】:
为什么 Mysql/InnoDB 似乎重命名了我创建的一些外键?
例如
mysql> alter table JOB_LISTENER add foreign key FK_JOBS (job_id) REFERENCES job(id);
mysql>
mysql> show create table JOB_LISTENER;
snip> ....
mysql> CONSTRAINT `JOB_LISTENER_ibfk_4` FOREIGN KEY (job_id) REFERENCES job (id)
snip> ....
它将我创建的名为 FK_JOBS 的外键重命名为 JOB_LISTENER_ibfk_4 - 知道为什么要这样做吗?
非常感谢,
肖恩
【问题讨论】:
-
您没有提供外键约束的名称,因此 MYSQL 必须创建一个。您拥有的
FK_JOBS是 FK 约束要使用的 index_name。
标签: mysql foreign-keys innodb