νΈλμμ ?
νλμ λ Όλ¦¬μ μΈ μμ λ¨μ
μ¬λ¬ κ°μ DMLμ΄ νλμ νΈλμμ μ ꡬμ±ν μ μμ(insert, update, delete)
νλμ DDLμ΄ νλμ νΈλμμ μ ꡬμ±ν¨(create, alter, drop, truncate)
1. commit
: λ³κ²½μμ μ μꡬν μ μ₯
2. rollback
: λ³κ²½μμ μ νΈλμμ μ²μμΌλ‘ λλλ¦Ό
commit;
-------------------------------------------
Transection1(start)-> insert ---;
update ---;
update ---;
commit;
<- Transection1(end)
------------------------------------------
Transection2(start)-> delete ---;
update ---;
rollback;
<- Transection2(end)
------------------------------------------
T(start, end) -> create table ---;(DDL)
(auto commit λ΄ν¬)
-------------------------------------------
T(start) -> insert ---;
update---;
create table---;
(autocommit)
<- T(end)
3. savepoint
: νΈλμμ μ§ν μ€ λλμκ° μ§μ μ μμ± νλ λͺ λ Ήμ΄ (μ€κ° μ μ₯ x)
savepoint μμ± : create savepoint ν¬μΈνΈλͺ ;
savepointλ‘ λλ리기 : rollback to ν¬μΈνΈλͺ ;
νΈλμμ μ’ λ£ μ μλ μμ λ¨.
-----------------------------
T(start)->
update ---;
savepoint A;
update ---;
delete ---; -- (μ¬κΈ°μ μ·¨μ)
savepoint B;
insert ---;
rollback to A ( μ²μ update μμλ°μ΄ν° μν)
.
.
.
commit; or rollback;
<- T(end)
rollback : νΈλμμ μ μ²μμΌλ‘ λλλ¦Ό => νΈλμμ μ’ λ£ o
rollback to : ν΄λΉ ν¬μΈνΈ μ§μ μΌλ‘ λλλ¦Ό =>νΈλμμ μ’ λ£ x
μ°μ΅!
* auto-commit transacrions μ€μ ν΄μ ν
β 101λ² μ¬μ salary λ³κ²½ & savepoint Aμμ±
β 102λ² μ¬μ salary λ³κ²½ & savepoint Bμμ±
β 102λ² μ¬μ salary λ³κ²½ μ·¨μ -------> Aλ‘ rollback
β 102λ² μ¬μ salary λ³κ²½ μ μΌλ‘ λ‘€λ°± μλ£ ------- μμ§ μμλ°μ΄ν° μν
=> commit ν΄μΌν¨
μ μ₯ μλ£!
'STUDY > DATABASE' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
MYSQL -DDL(λ°μ΄ν° μ μμ΄) (0) | 2022.05.06 |
---|---|
MYSQL - μ°μ΅λ¬Έμ (DML) (0) | 2022.05.02 |
MYSQL - DML_λ°μ΄ν° μμ (delete) (0) | 2022.05.02 |
MySQL - λ¨μΌ ν ν¨μ(λ¬Έμν¨μ) (0) | 2022.04.15 |
MySQL - JOIN (0) | 2022.04.12 |