如何使用 mysqli 在 PHP 中将事务的隔离级别设置为“SERIALIZABLE”?我到处找了,我找不到任何关于它的信息。
这是隔离级别的解释。
如何使用 mysqli 在 PHP 中将事务的隔离级别设置为“SERIALIZABLE”?我到处找了,我找不到任何关于它的信息。
这是隔离级别的解释。
简短的回答:
$mysqli = new mysqli('localhost', 'user', 'pass', 'db');
$mysqli->query("SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE");
长答案:除非您使用SESSION或GLOBAL修饰符,否则设置事务级别将仅适用于下一个查询。
tldr;
根据带有 InnoDB 表的 MySQL文档:
没有任何 SESSION 或 GLOBAL 关键字:
该语句仅适用于会话中执行的下一个事务。
后续事务恢复为使用命名特征的会话值。
事务中不允许该语句
请注意,设置该GLOBAL
标志将影响所有后续查询现有会话不会受到影响。