sql >> Databasteknik >  >> RDS >> Mysql

Hur konverterar man alla tabeller från MyISAM till InnoDB?

Kör den här SQL-satsen (i MySQL-klienten, phpMyAdmin eller var som helst) för att hämta alla MyISAM-tabeller i din databas.

Ersätt värdet för name_of_your_db variabel med ditt databasnamn.

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;

Kopiera sedan utdata och kör som en ny SQL-fråga.



  1. Tabellen är "skrivskyddad"

  2. Returnera alla möjliga kombinationer av värden på kolumner i SQL

  3. Postgres:hur rundar man en tidsstämpel uppåt eller nedåt till närmaste minut?

  4. Hur man ansluter till SQL Server med Windows-autentisering från Node.JS med hjälp av mssql-modulen