์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ์๋๋ก์ด๋ ์คํ๋์ค
- ์คํธ๋ฆผ๋ฆฟ
- streamlit
- Flutter
- ์น๋์๋ณด๋ ์ ์
- REACT
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- ํ๋ค์ค
- ์๋ฐ์ด๋ณด
- JavaScript
- Streamlit๊ธฐ์ด
- ์๋ฐ
- ์๋ฐ๊ณต๋ถ
- ํ์ด์ฌ
- ํ๋ค์ค๊ณต๋ถ
- MySQL
- serverless
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ํ์ด์ฌ๊ณต๋ถ
- ์๋ฐ๊ธฐ์ด
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- Pandas
- RESTful API
- ์น๋์๋ณด๋ ๊ธฐ์ด
- java
- db
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- ์๋ฐ์คํฌ๋ฆฝํธ
- Android
- Today
- Total
ruriruriya
[DB] ๋ฐ์ดํฐ๋ฒ ์ด์ค MySQL - foreign key์ on delete cascade ์ค์ ๋ฐฉ๋ฒ๊ณผ ๋์ ๋ฐฉ๋ฒ ๋ณธ๋ฌธ
[DB] ๋ฐ์ดํฐ๋ฒ ์ด์ค MySQL - foreign key์ on delete cascade ์ค์ ๋ฐฉ๋ฒ๊ณผ ๋์ ๋ฐฉ๋ฒ
๋ฃจ๋ฆฌ์ผใ 2023. 12. 4. 11:49
MySQL์์ ON DELETE CASCADE๋
์ธ๋ ํค(foreign key) ์ ์ฝ ์กฐ๊ฑด์์ ์ฌ์ฉ๋๋ ์ต์
์ค ํ๋์ด๋ค.
์ด ์ค์ ์ ์ฌ์ฉํ๋ฉด ์ฐธ์กฐํ๋ ํ
์ด๋ธ์์ ํ์ ์ญ์ ํ ๋,
ํด๋น ํ์ ์ฐธ์กฐํ๋ ๋ค๋ฅธ ํ
์ด๋ธ์ ๊ด๋ จ๋ ํ๋ ์๋์ผ๋ก ์ญ์ ๋๋ค.
์๋ฅผ ๋ค์ด, USER ํ
์ด๋ธ๊ณผ PHOTOS ํ
์ด๋ธ์ด ์๊ณ ,
PHOTOS ํ
์ด๋ธ์ ์ธ๋ ํค๊ฐ USER ํ
์ด๋ธ์ ์ฐธ์กฐํ๋ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด๋ณด์.
USER ํ
์ด๋ธ์ ํ์ด ์ญ์ ๋๋ฉด, ์ด์ ์ฐ๊ด๋ PHOTOS ํ
์ด๋ธ์ ํ๋ ์๋์ผ๋ก ์ญ์ ๋๋ค.

foreign key์
on delete cascade ์ค์ ๋ฐฉ๋ฒ
1. ์ธ๋ ํค(foreign key) ์ค์
ํด๋น ํ
์ด๋ธ ์ค์ ์ ๋ค์ด๊ฐ์ Foreign Key๋ฅผ ์๋ก ์์ฑํ๋ฉด์
Foreign Key Options - on Delete : ๋ฅผ CASCADE๋ก ์ ํํ๋ค.


2. index ์ํธ์์ foreign ํค ์์ฑ๋ ๊ฒ์ ํ์ธ

3. USER ํ
์ด๋ธ์์ id 2๋ฒ์ ์ญ์ ํ๋ฉด
PHOTOS ํ
์ด๋ธ ์์๋ user_id = 2๊ฐ ์ญ์ ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
delete from users
where id = 2;
select * from users;

select *
from photos
where user_id = 2;

CASCADE ๋์๋ฐฉ๋ฒ ์ ๋ฆฌ
- A ํ
์ด๋ธ์์ ํ์ด ์ญ์ ๋๋ฉด,
ํด๋น ํ์ ์ฐธ์กฐํ๋ B ํ ์ด๋ธ์ ํ๋ ์๋์ผ๋ก ์ญ์ ๋๋ค. - ๋ง์ฝ ์ญ์ ํ๋ ค๋ A ํ
์ด๋ธ์ ํ์ ์ฐธ์กฐํ๋ B ํ
์ด๋ธ์ ํ์ด ์กด์ฌํ์ง ์๋๋ค๋ฉด,
์๋ฌด๋ฐ ์ํฅ์ ์ฃผ์ง ์๋๋ค.