Mysql
 sql >> Database >  >> RDS >> Mysql

MySql blocca automaticamente le righe o devo aggiungere il blocco in modalità condivisione?

Penserei che, in base alle tue risposte ai miei commenti, non dovresti davvero preoccuparti di gestire manualmente i blocchi delle tabelle. InnoDB supporta il blocco a livello di riga e con l'autocommit abilitato (come è per impostazione predefinita) tutte le singole query vengono effettivamente gestite in modo transazionale.

Ora, se hai più query SQL che devono essere gestite come una singola transazione (ad es. aggiornare una tabella, quindi aggiornare un'altra tabella - entrambe hanno esito positivo o vengono ripristinate entrambe), allora dovresti avviare specificamente una transazione e eseguirne il commit o ripristinalo dopo che le query provvisorie sono state eseguite.

Puoi anche utilizzare SET TRANSACTION istruzione se è necessario modificare il livello di isolamento della transazione (è `REPEATABLE READ1 per impostazione predefinita).

Per ulteriori informazioni, consulta la Documentazione MySQL