Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann MySql eine SQL-Transaktion über mehrere Tabellen zurücksetzen?

Ja, aber nur für Tabellen, die Transaktionen unterstützen. So überprüfen Sie, ob Ihre Tabellen kompatibel sind

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

Wenn einer von ihnen MyISAM ist , sind sie nicht transaktionskompatibel. Sie müssen sie alle zu InnoDB ändern

ALTER TABLE [TableName] ENGINE=InnoDB;

Aber seien Sie gewarnt - MyISAM unterstützt einige Funktionen, die InnoDB nicht unterstützt, wie zum Beispiel FULLTEXT-Suchen.