search
LoginSignup
49
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Organization

MySQLでユニークキーや外部キーを確認する

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

参考リンク

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
49
Help us understand the problem. What are the problem?