Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySql peut-il annuler une transaction SQL sur plusieurs tables ?

Oui, mais uniquement pour les tables prenant en charge les transactions. Pour vérifier si vos tableaux sont compatibles, procédez comme suit

SELECT table_name
     , engine
  FROM information_schema.tables t
 WHERE t.table_name IN('Table1','Table2','Table3');

Si l'un d'eux est MyISAM , ils ne sont pas compatibles avec les transactions. Vous devrez tous les changer en InnoDB

ALTER TABLE [TableName] ENGINE=InnoDB;

Mais soyez averti - MyISAM prend en charge certaines fonctionnalités qu'InnoDB ne prend pas en charge, telles que les recherches FULLTEXT.