InnoDB からテーブルの外部キー定義を返す

外部キーの定義がどうなっているのか調べる。

既存のテーブルを新規で作成するとしたら、という解釈でもよい。

show create table テーブル名 \G

mysql> show create table table_name \G
*************************** 1. row ***************************
       Table: table_name
Create Table: CREATE TABLE `table_name` (
  `topic_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(48) DEFAULT NULL,
  `category_id` int(11) NOT NULL,
  PRIMARY KEY (`topic_id`),
  KEY `fk_category_id` (`category_id`),
  CONSTRAINT `mismatch_topic_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `mismatch_category` (`category_id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)