web-dev-qa-db-fra.com

Pourquoi ne puis-je pas changer les niveaux d'isolement de ma connexion dans MySQL?

J'essaie d'expérimenter un peu avec le niveau d'isolement de MySQL dans un environnement de test.
[.____] Je fais ce qui suit:

mysql> set @@session.tx_isolation='READ-UNCOMMITED';
ERROR 1231 (42000): Variable 'tx_isolation' can't be set to the value of 'READ-UNCOMMITED'

Cela échoue également:

mysql> update information_schema.session_variables set variable_value='READ-UNCOMMITED' where variable_name='TX_ISOLATION';
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'information_schema' 

Qu'est-ce que je fais mal ici? Je suis root. Cela ne devrait donc pas être un problème de droits.

3
Cratylus

Vous devez essayer

SET tx_isolation = 'READ-UNCOMMITTED';

ou alors

SET SESSION tx_isolation = 'READ-UNCOMMITTED';

Vous pouvez également déclarez-le au début de la transaction

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

Essaie !!!

CAVEAT

Veuillez noter que vous avez orthographié READ-UNCOMMITED (Manquant T). Ça devrait être READ-UNCOMMITTED

Vous ne pouvez pas changer tx_isolation Dans la base de données Information_Schema car il s'agit d'une base de données en lecture seule en mémoire.

6
RolandoMySQLDBA