sql >> データベース >  >> RDS >> Mysql

すべてのテーブルをMyISAMからInnoDBに変換するにはどうすればよいですか?

    このSQLステートメントを(MySQLクライアント、phpMyAdmin、またはその他の場所で)実行して、データベース内のすべてのMyISAMテーブルを取得します。

    name_of_your_dbの値を置き換えます データベース名の変数。

    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;
    

    次に、出力をコピーして、新しいSQLクエリとして実行します。



    1. 2038年問題とは何ですか?

    2. 数字からのMySQLMONTHNAME()

    3. お気に入りのパフォーマンスチューニングのトリック

    4. ユーザーごとのOracle設定デフォルトスキーム(セッションを変更しない)