在運行下面的語句:爲什麼在未提交提交時記錄被插入?
set autocommit = false;
start transaction;
insert into test_table (id,name) values('6','iqbal bano');
的入口被插入到數據庫中,雖然我沒有發出命令commit
。這種行爲對於mysql
是否自然?如果是的話,爲什麼會這樣呢?令我驚訝的是,如果我跑3個語句:
set autocommit = false;
start transaction;
insert into test_table (id,name) values('7','chitra singh');
insert into test_table (id,name) values('8',nayaara);
第三條語句,返回一個錯誤(因爲nayaara不得不包裹引號)但是,先前的插入成功,並與id 7
項創建成數據庫。這是什麼原因?這是交易進行的方式嗎?
注意:自動提交設置爲false,如上述語句所示。
@Drew Autocommit設置爲「false」。請參閱編輯。 –
您好@SuhailGupta能提供這個命令的輸出嗎? SELECT * FROM information_schema.global_variables WHERE variable_name like'%version%'; – Jordon
@ShivaShinde你在找什麼屬性值? –