PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

PostgreSQL:ВЪНШЕН КЛЮЧ/КАСКАДА НА ИЗТРИВАНЕ

Външен ключ с каскадно изтриване означава, че ако се изтрие запис в родителската таблица, тогава съответните записи в дъщерната таблица ще бъдат изтрити автоматично. Това се нарича каскадно изтриване.

Вие казвате по обратен начин, това не е, че когато изтриете от дъщерна таблица, записите ще бъдат изтрити от родителската таблица.

UPDATE 1:

ЗА ИЗТРИВАНЕ НА КАСКАДА опцията е да посочите дали искате редовете да бъдат изтрити в дъщерна таблица, когато съответните редове се изтрият в родителската таблица. Ако не зададете каскадни изтривания, поведението по подразбиране на сървъра на базата данни ви пречи да изтриете данни в таблица, ако други таблици се позовават на нея.

Ако посочите тази опция, по-късно, когато изтриете ред в родителската таблица, сървърът на базата данни също изтрива всички редове, свързани с този ред (външни ключове) в дъщерна таблица. Основното предимство на функцията за каскадно изтриване е, че ви позволява да намалите количеството SQL изрази, от които се нуждаете, за да извършите действия за изтриване.

Така че всичко е за това какво ще се случи, когато изтриете редове от родителска таблица, а не от дъщерна таблица.

Така че във вашия случай, когато потребителят премахне записи от таблицата CATs, тогава редовете ще бъдат изтрити от таблицата с книги. :)

Надявам се това да ви помогне :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. postgres:надстройване на потребител до суперпотребител?

  2. PostgreSQL Избиране на най-новия запис за даден идентификатор

  3. Как да изброите външни ключове на таблицата

  4. Измерване на статистиката на контролните точки на PostgreSQL

  5. Грешка в колоната на SQL заявката не съществува