MySQL事務操作

2022-05-15 14:23:23 字數 1999 閱讀 6276

在 mysql 命令列的預設設定下,事務都是自動提交的,即執行 sql 語句後就會馬上執行 commit 操作。因此要顯式地開啟乙個事務務須使用命令 begin 或 start transaction,或者執行命令 set autocommit=0,用來禁止使用當前會話的自動提交。

菜鳥教程:

1、用 begin, rollback, commit來實現

2、直接用 set 來改變 mysql 的自動提交模式:

資料庫事務操作例項:

mysql>

userunoob;

database

changed

mysql

>

create

table runoob_transaction_test( id int(5)) engine=

innodb; # 建立資料表

query ok,

0 rows affected (0.04

sec)

mysql

>

select

*from

runoob_transaction_test;

empty

set (0.01

sec)

mysql

>

begin

; # 開始事務

query ok,

0 rows affected (0.00

sec)

mysql

>

insert

into runoob_transaction_test value(5

);query ok,

1 rows affected (0.01

sec)

mysql

>

insert

into runoob_transaction_test value(6

);query ok,

1 rows affected (0.00

sec)

mysql

>

commit

; # 提交事務

query ok,

0 rows affected (0.01

sec)

mysql

>

select

*from

runoob_transaction_test;+--

----+

| id |+--

----+|5

||6|

+------+

2 rows in

set (0.01

sec)

mysql

>

begin

; # 開始事務

query ok,

0 rows affected (0.00

sec)

mysql

>

insert

into runoob_transaction_test values(7

);query ok,

1 rows affected (0.00

sec)

mysql

>

rollback

; # 回滾

query ok,

0 rows affected (0.00

sec)

mysql

>

select

*from

runoob_transaction_test; # 因為回滾所以資料沒有插入+--

----+

| id |+--

----+|5

||6|

+------+

2 rows in

set (0.01

sec)

mysql

>

資料庫事務操作例項

mysql事務操作 mysql的事務操作

倒著思考。杜絕純粹的知識填鴨教育 少廢話,是上 update table1 set money 100 where id 1 a賬戶減少100元 update table2 set money 100 where id 2 b 賬戶增加100元 問題 這是乙個簡單的銀行轉賬案例sql,由於伺服器等未...

MySQL事務操作

在 mysql 命令列的預設設定下,事務都是自動提交的,即執行 sql 語句後就會馬上執行 commit 操作。因此要顯式地開啟乙個事務務須使用命令 begin 或 start transaction,或者執行命令 set autocommit 0,用來禁止使用當前會話的自動提交。菜鳥教程 1 用 ...

mysql事務操作

當把多個操作當做乙個事務時,這些操作具有一下特點 mysql select autocommit 檢視autocommit autocommit 1 1 row in set 0.00 sec mysql set autocommit 0 將autocommit設定為0,防止自動提交 query o...