MySQLでテーブルの情報を確認する場合は、
DESC table_name;
とすることが多いですが、これだとユニークキーや外部キー制約などは確認できません。
このような場合は
SHOW CREATE TABLE table_name;
とすると、
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(255) NOT NULL DEFAULT '',
`name` varchar(255) DEFAULT NULL,
`parent_id` int(11) DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `index_users_on_email` (`email`),
KEY `index_users_on_id` (`id`),
FOREIGN KEY (parent_id)
REFERENCES parent(id)
ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8
上記のように確認できます。
指定したテーブルをTABLE CREATE
するための情報がそのまま出力されるので、DB設定を網羅的に確認できて便利です。
バージョン
MySQL:5.6.38