articulus Directory
MySQL databaseTransaction reverti solitudo / conceptum apertum / campester processus php constitutionis
MySQL negotiis
MySQL negotia maxime adhibentur ad processus notitias cum magna copia operationum et multiplicitate alta.Exempli causa, in administratione personarum, si personam deleas, necesse est tam praecipuas personae notitias quam personas informationes relatas delere, ut mailboxes, vasa, etc. rem constituunt !
- Transactions in MySQL tantum sustinentur pro databases vel tabulas quibus machina database Innodb utuntur.
- Processus transactionis integritatem datorum conservare potest, ita ut batches SQL declarationum vel omnes exsecutioni vel nullae ex eis sint exsecutioni.
- Transactiones administrare solent inserta, renovatio, sententias delere
Communiter transactions convenire debent 4 condiciones (ACID): atomicity (atomicitas), constantia (stabilitas), solitudo (solitudo), durabilitas (rebilitas)
- 1,Atomicitas transactionum:De rebus gestis, qui vel succedunt vel subtrahunt.
- 2,firmitas;Data non est illicita (clavibus externis et similibus angustiis), et transactio subtracta est.
- 3,Separatio:Trans- currunt independenter.Si effectus transactionis alias transactiones afficit, aliae transactiones subtrahebuntur.100% solitudo transactionum inpensa velocitatis.
- 4,commendatio;Post programmatum et fragorem ferramentorum, InnoDB mensarium data exactoris utetur tabella stipes ad eam reficiendam et modificandam.Certa et summa celeritas utrumque habere non potest, optionis innodb_flush_log_at_trx_commit decernit cum transactiones servare ad stipem.
Sub defalta occasus lineae mandati MySQL, transactiones automatice committuntur, hoc est, operationes COMMIStionis statim post SQL constitutionis supplicium exercebuntur.Ad rem ergo explicite aperiendam uti debet mandatum INCIPIT vel INITIUM NEGOTIUM, vel mandatum SET AUTOCOMMIT=0 exsequi, ut inactivare usum latis automatis pro currenti sessione committat.
Transactio imperium dicitur:
- INCIPIO vel INITIUM NEGOTIUM, rem explicite committitur;
- COMMENDO, OPERIS etiam utendum est, sed duo aequipollent. COMMENDO transactionem committit et facit omnes modificationes permanentes datorum;
- REVOLVENS potest uti revolvendo, sed duo aequiparantur.Reversum transactionis usoris finit et omnes immutationes in progressu retexit;
- SAVEPOINT identificatrix permittit ut punctum in transactione creare, et plures SAVEPOINTs in transactione esse possunt;
- RELEASE SAVEPOINT identifientem, dele servatum transactionis, cum nullus est nisi punctus determinatus, exsequens constitutionis exceptionem mittet;
- REVOLVERE identifier: revolvere rem ad rem;
- SET NEGOTIUM, solitus gradus rei constituebat. Instrumentum repositionis InnoDB praebet transactionem gradus solitudo READ INCOMMITTED, READ COMMITTA, LECTIO ITERATA, et Serializabilis.
Sunt duo modi mySQL transaction processus:
1. usus incipe, reverti, committere ad consequi
- COEPTO satus a re
- rollback transaction reverti
- COMMITTERE Transactio confirmatio
2. Usus directe mutare MySQL scriptor auto- committere modum:
- SETAUTOCOMMIT=0 Inactivare auto- committere
- SETAUTOCOMMIT=1 Illuminationes auto- committere
transaction test
mysql> use chenweiliang; Database changed mysql> CREATE TABLE chenweiliang_transaction_test( id int(5)) engine=innodb; # 创建数据表 Query OK, 0 rows affected (0.04 sec) mysql> select * from chenweiliang_transaction_test; Empty set (0.01 sec) mysql> begin; # 开始事务 Query OK, 0 rows affected (0.00 sec) mysql> insert into chenweiliang_transaction_test value(5); Query OK, 1 rows affected (0.01 sec) mysql> insert into chenweiliang_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 chenweiliang_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 chenweiliang_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 chenweiliang_transaction_test; # 因为回滚所以数据没有插入 +------+ | id | +------+ | 5 | | 6 | +------+ 2 rows in set (0.01 sec) mysql>
Per transactionem Instantiae in PHP
ORDINE MySQL test:
<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn, "set names utf8");
mysqli_select_db( $conn, 'chenweiliang' );
mysqli_query($conn, "SET AUTOCOMMIT=0"); // 设置为不自动提交,因为MYSQL默认立即执行
mysqli_begin_transaction($conn); // 开始事务定义
if(!mysqli_query($conn, "insert into chenweiliang_transaction_test (id) values(8)"))
{
mysqli_query($conn, "ROLLBACK"); // 判断当执行失败时回滚
}
if(!mysqli_query($conn, "insert into chenweiliang_transaction_test (id) values(9)"))
{
mysqli_query($conn, "ROLLBACK"); // 判断执行失败时回滚
}
mysqli_commit($conn); //执行事务
mysqli_close($conn);
?>Spes Chen Weiliang Blog ( https://www.chenweiliang.com/ ) Communis "MySQL Database Transactionis Rollback Isolation/Open Concept/Level Processing of PHP Statement", quod tibi prodest.
Grata communicare nexum huius articuli:https://www.chenweiliang.com/cwl-494.html
Ut plura artificia occulta🔑 reserare possis, te ad canalem nostrum Telegram iunge!
Share and like si tibi placet! Tuae partes et similia sunt continua motiva nostra!