๐Ÿ’พ MySQL - safe modeํ•ด์ œ

suRanยท2022๋…„ 7์›” 15์ผ
0

๐Ÿ’พ MySQL

๋ชฉ๋ก ๋ณด๊ธฐ
5/9
post-thumbnail

๋ฌธ์ œ

SQL์—์„œ๋Š”
์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ˆ˜๋กœ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ์ผ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ชจ๋“œ์ธ
Safe mode๊ฐ€ ๋””ํดํŠธ๋กœ ์„ค์ •๋˜์–ด์žˆ๋‹ค.

safe mode์—์„œ๋Š” ํ…Œ์ด๋ธ”์˜ ๋ณ€๊ฒฝ, ์ˆ˜์ •, ์‚ญ์ œ๊ฐ€ ์ผ์–ด๋‚˜๋Š” DML์„ ์‚ฌ์šฉํ•  ๋•Œ
SELECT ์กฐ๊ฑด์ ˆ์— PK๊ฐ€ ์•„๋‹Œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.


DELETE FROM table1
SELECT notPK = 1;  --  PK๊ฐ€ ์•„๋‹Œ ํ•„๋“œ ์‚ฌ์šฉ์œผ๋กœ ์˜ค๋ฅ˜ ๋ฐœ์ƒ



ํ•ด๊ฒฐ๋ฒ•

ํ•ด๊ฒฐ๋ฒ•์€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค


1. Workbench์˜ ์„ค์ • ๋ฐ”๊พธ๊ธฐ

  • MySQL ์›Œํฌ๋ฒค์น˜ ์ƒ๋‹จ์—์„œ
    [ Edit - Preference - SQL Editor - ๋งจ ์•„๋ž˜์˜ Safe Updates ์ฒดํฌ ํ•ด์ œ]

  • ์ฒดํฌ ํ•ด์ œ ํ›„ MySQL ์›Œํฌ๋ฒค์น˜ ์žฌ์‹œ์ž‘



2. SET SQL_SAFE_UPDATES = 0;

  • ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

SET SQL_SAFE_UPDATES = 0; 		-- 0 : sefe update mode ํ•ด์ œ , 1: safe update mode ์„ค์ •
  • SET SQL_SAFE_UPDATES = 0; ์€ safe update mode๋ฅผ ํ•ด์ œํ•˜๋Š” ์ฝ”๋“œ์ด๊ณ 
    SET SQL_SAFE_UPDATES = 1; ์€ ๋‹ค์‹œ ์„ค์ •ํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค.


safe mode๋ฅผ ํ•ด์ œํ•˜๋ฉด

DELETE FROM table1
SELECT notPK = 1;  

SELECT๋ฌธ์— PK๊ฐ€ ์•„๋‹Œ ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•ด๋„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

profile
๊ฐœ๋ฐœ ๊ณต๋ถ€๋ฅผ ํ•ด๋ผ

0๊ฐœ์˜ ๋Œ“๊ธ€