skillup

技術ブログ

Database

postgresの外部キー制約やcascadeについて

投稿日:

外部キーを貼っておくと、当然、削除などを行うときにエラーになり、truncateも当然できなくなりますが、cascadeをつけることで、関連するテーブルまで一気にtruncateされます。

主にテストなんかをやっていて、テーブルを初期化したい時に便利。

外部キーネタで他には以下の点なども注意。

  • ちなみに外部キー制約には単なるキー制約以外に、制約(共に削除など)を色々とつけることができる
  • 親と子の型が一致していないと外部キー制約がうまく働かないので要注意。
  • Laravelだと削除時に物理削除ではなく、deleted_atに値を入れるなどの機能もあり。

【Laravel】migration時に外部キーを設定する

Laravel8で外部キー制約を追加する

PostgreSQL 13.1文書 5.4 制約

-Database
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

Postgresの基礎(主にMySQLとの違いなど)

えー来月(2020年3月)より、postgresを使うかもしれないので、ちょっと復習を。 Contents1 以前のリンク2 基本コマンド比較2.1 超頻出系3 テーブル比較4 SELECT文5 do …

no image

DBUtils活用 その2

以前DBUtilsの活用を書きましたが、他の使い方がわかったのでメモ 以前はSelectでList<エンティティ>を取得したのですが、List<Map>でも取得できます。 ソー …

no image

データベース設計のアンチパターン 複数表結合,大作SQL,Blob型の乱用

データベースのアンチパターンに関して。 以前下記ブログでも書いたんですが設計のスキルに関してもう少し身に着ける必要があるとおもい、チェックします。 論理設計のグレーノウハウ サロゲートキー 論理設計の …

no image

MySQLのSETとFIND_IN_SETについて

MySQLの方ですが、単純な文字列や、数字、日付の他に配列に近いSET型、また5.7以降ではJSONなどを入れることができます。 Contents1 SET型2 FIND_IN_SET SET型 いわ …

no image

エンティティの抽出と主キー決定

主に設計に関することのメモ。 Contents1 業務フロー分析2 エンティティの抽出3 エンティティの関連付け4 主キーの抽出を行う4.1 主キーの特徴4.2 サロゲートキーのメリット4.3 サロゲ …

アーカイブ