Kezdőoldal » Számítástechnika » Programozás » Mi történik az SQLite-ban...

Ozmium42 kérdése:

Mi történik az SQLite-ban ilyenkor?

Figyelt kérdés

Van a Table1.id, ami INTEGER PRIMARY KEY

Van a Table2.id REFERENCES Table1(id)


1. Ha törlök egy id-t a Table1-ből, akkor a hozzá tartozó Table2 rekordok vele együtt törlődnek, vagy hibaüzenet lesz, hogy nem törölhetem?


2. Abban az esetben, ha:

Table2.id REFERENCES Table1(id) ON DELETE CASCADE


a megfeleltetés kikényszerítése (nem lehet létrehozni olyan Table2.id-t, ami nem szerepel a Table1.id-ként) ebben az esetben is ugyanúgy él, mint az első esetben, vagy ilyenkor csak a törlésnél ellenőrzi, hogy van-e megfelelő rekord a Table2-ben?



2020. szept. 13. 20:19
 1/2 anonim ***** válasza:
75%

Az ON DELETE CASCADE általában (kb. minden SQL-nél) azt jelenti, hogy ha kitörlöd a Tabla1-ből a rekordot minden olyan olyan Tabla2-bel rekord törlődik vele együtt ami ezt a kulcsot használja.

Ha nincs kiírva akkor megadják mi az alapértelmezett, ha nincs kiírva az ON DELETE CASCADE vagy az ON DELETE RESTRICT

Az ON DELETE RESTRICT azt jelenti, hogy nem törölheted Tabla1-ből ameddig van olyan rekord a Tabla2-ben ami ezt használja.

Neekem úgy tanították, hogy inkább írjuk ki, hogy mit szeretnénk ne bizzuk az "alapértelmezésre", mert akkor biztosan portábilis lesz a táblaszerkezet.

2020. szept. 13. 20:30
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

1.) Nem törlődik, mert az alapértelmezett a "NO ACTION":

[link]


2.) Igen él, hiszen a "Table2.id REFERENCES Table1(id)"-val azt mondod, hogy Table2.id egy Table1.id érték.


Az "ON DELETE CASCADE" azt mondja meg, hogy ha megszűnik az a Table1.id, amire hivatkozik a Table2.id, akkor mi történjen azzal a rekorddal. Jelen esetben törlődjön. Figyelem! Ez fordítva nem igaz.

2020. szept. 13. 22:39
Hasznos számodra ez a válasz?

További kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!