外部キー制約について

ログイン機能の実装時やユーザー情報の削除処理などを実装した際にDBの外部キー制約について悩まされたので、また忘れると思うのでメモ。

外部キー制約などの確認

作成したテーブルのユニーク制約や外部キー制約などを確認するには

SHOW CREATE TABLE table_name;

このコマンドでテーブルをクリエイトするためのソースが表示できる。

CREATE TABLE `users` (
  `id` int NOT NULL AUTO_INCREMENT,
  `username` varchar(60) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `avf` date DEFAULT NULL,
  `locked` tinyint(1) DEFAULT NULL,
  `expired` tinyint(1) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

こんな感じ。

外部キー制約は子テーブル側から作成し、プライマリーキーの親テーブルと紐付ける。

← Go home
;