Transaction
database μμ μ¬μ©λλ μͺΌκ°€ μ μλ μ 무 μ²λ¦¬μ λ¨μ.
ALL or Nothing,
μμ λ΄λΆμ κ³Όμ μ΄ νλλΌλ μλͺ»λλ©΄ λͺ¨λ μ·¨μλμ΄μΌ νλ€.
μμ)
5000λ§μμ μ‘κΈνλ κ³Όμ μ '5000λ§μμ Aμ κ³μ’μμ μΆκΈ'νκ³ 'Bμ κ³μ’μ μ κΈ'νλ 2λ²μ κ³Όμ μΌλ‘ λλ μ Έμλ€.
λ§μ½ 5000λ§μμ΄ 'Aμ κ³μ’μμ μΆκΈ'νλ κ² κΉμ§ μ±κ³΅νμΌλ
'Bμ κ³μ’μ μ κΈ'νλ κ²μ μ€ν¨νκ² λλ©΄ κ·Έ 5000λ§μμ μ΄λλ‘ κ°λμ§ μ μ μκ² λλ€.
λ°λΌμ 5000λ§μμ 'Aμκ²μ μΆκΈ'νλ κ²κ³Ό 'Bμκ² μ κΈ'νλ κ²μ νΈλμ μ μΌλ‘ λ¬Άμ΄ ν λ²μ μ²λ¦¬ν΄μΌ μμ νλ€.
μ΄ λ μ¬μ©λλ κ²μ΄ rollback κ³Ό commit μ΄λ€.
μ κΈ μ€ν¨ νλ©΄ μΆκΈκΉμ§ rollback, μΆκΈκ³Ό μ κΈ λͺ¨λ μ±κ³΅ μμ commit
commit κ³Ό rollback
commit; -- μ΅μ’ νμ
rollback; -- λλ리기
- commit : νμ¬κΉμ§ μ€νλ λ΄μμ μ μ₯ -> λλ릴 μ μλ€.
- rollback : λλ리λ μμ . -> commit μ΄νμλ ν μ μλ€.
- commit μ΄λ rollbackμ DML(update,delete,insert) μλ§ μ¬μ©λλ€.
- DDL(create,alter,drop)μ μ¬μ©ν μ μλ€.
μμ DML μμ selectκ° λΉ μ§λ μ΄μ λ κ²μμ΄ λ°μ΄ν°μ μν₯μ μ£Όμ§ μκΈ° λλ¬Έμ΄λ€.
λ³΄ν΅ DB λ auto commitμ μ 곡νλ€.
auto commitμ μμ μ€κ°μ€κ° μλμΌλ‘ commit ν΄μ£Όλ κ²μ΄λ€. auto commitμ μΌκ³ λ μ μλ€.
auto commit νμ¬ μ€μ νμΈ
select @@autocommit;
1 : μ€μ
0 : λ―Έμ€μ
auto commit κΈ°λ₯ μΌκ³ λκΈ°
set autocommit = 0; -- λκΈ°
set autocommit = 1; -- μΌκΈ°
autocommit λ μνλ‘ rollback ν΄λ³΄κΈ°.
μΉμμ νΈλμ μ μ μμ)
λΈλ‘κ·Έ κΈ λͺ©λ‘ μ€μμ νΉμ κΈμ λλ μ λ κΈμ λ€μ΄κ°μ‘λλ° μ€λ₯λ‘ λ΄μ©μ΄ λμ€μ§ μμλ€.
μ΄ λ κΈμ μ‘°νμλ₯Ό μ¬λλ€κ³ κ³μ°νλ©΄ μλκΈ° λλ¬Έμ νΈλμ μ μ μ¬μ©νλ€.
'Data > MariaDB' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
DB] μλΈμΏΌλ¦¬ , μνκ΄κ³μΏΌλ¦¬ (0) | 2022.05.06 |
---|---|
DB] μ μ½ μ‘°κ±΄(constraint) 2 - μ°Έμ‘° μ μ½ μ‘°κ±΄ / μ°κ³ μ°Έμ‘° λ¬΄κ²°μ± μ μ½ μ‘°κ±΄ / μ λν¬ μ μ½ μ‘°κ±΄ / μ²΄ν¬ μ μ½ μ‘°κ±΄ (0) | 2022.05.06 |
DB] μ μ½ μ‘°κ±΄(constraint) 1 - κΈ°λ³Έ ν€ μ μ½ μ‘°κ±΄ / NOT NULL (0) | 2022.04.28 |
DB] DML 2 - SELECT (0) | 2022.04.28 |
DB] DML 1 - INSERT / UPDATE / DELETE / UPSERT (0) | 2022.04.28 |