diff --git a/README.md b/README.md index 85602d8..49e72fd 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ variety of languages and technologies. These are things that don't really warrant a full blog post. These are mostly things I learn by pairing with smart people at [Hashrocket](http://hashrocket.com/). -_399 TILs and counting..._ +_400 TILs and counting..._ --- @@ -167,6 +167,7 @@ _399 TILs and counting..._ ### PostgreSQL - [A Better Null Display Character](postgres/a-better-null-display-character.md) +- [Add ON DELETE CASCADE To Foreign Key Constraint](postgres/add-on-delete-cascade-to-foreign-key-constraint.md) - [Adding Composite Uniqueness Constraints](postgres/adding-composite-uniqueness-constraints.md) - [Aggregate A Column Into An Array](postgres/aggregate-a-column-into-an-array.md) - [Auto Expanded Display](postgres/auto-expanded-display.md) diff --git a/postgres/add-on-delete-cascade-to-foreign-key-constraint.md b/postgres/add-on-delete-cascade-to-foreign-key-constraint.md new file mode 100644 index 0000000..a4ebec9 --- /dev/null +++ b/postgres/add-on-delete-cascade-to-foreign-key-constraint.md @@ -0,0 +1,30 @@ +# Add ON DELETE CASCADE To Foreign Key Constraint + +The `alter table` command lets you do quite a bit. But when it comes to +altering existing constraints, there is not much you can do. If you want to +add an `on delete cascade` to an existing foreign key constraint, you are +going to need two statements. + +The first statement will drop the constraint and the second statement will +recreate it with the addition of the `on delete` clause. Furthermore, you'll +want to do this in a transaction to ensure the integrity of your data during +the transition between indexes. + +Here is an example: + +```sql +begin; + +alter table +drop constraint orders_customer_id_fkey; + +alter table +add constraint orders_customer_id_fkey +foreign key (customer_id) +references customers (id) +on delete cascade; + +commit; +``` + +[source](http://stackoverflow.com/questions/10356484/how-to-add-on-delete-cascade-constraints)