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

Hvordan konverterer man alle tabeller fra MyISAM til InnoDB?

Kør denne SQL-sætning (i MySQL-klienten, phpMyAdmin eller hvor som helst) for at hente alle MyISAM-tabellerne i din database.

Erstat værdien af ​​name_of_your_db variabel med dit databasenavn.

SET @DATABASE_NAME = 'name_of_your_db';

SELECT  CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;') AS sql_statements
FROM    information_schema.tables AS tb
WHERE   table_schema = @DATABASE_NAME
AND     `ENGINE` = 'MyISAM'
AND     `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;

Kopier derefter outputtet og kør som en ny SQL-forespørgsel.



  1. Sådan får du hver Nth Row i MySQL

  2. CROSS JOIN vs INNER JOIN i SQL

  3. MYSQL ORDER BY CASE Problem

  4. En oversigt over den nye DBaaS fra MariaDB - SkySQL