外部キー制約について
ログイン機能の実装時やユーザー情報の削除処理などを実装した際に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