Задать вопрос
@starbart
Прогер без стажа

Как изменить БД на innodb?

Всем доброго дня.
Очень далек от темы по-этому прошу помощи.
Нашел на Тостере скрипт для изменения БД\
<?php

$host = 'localhost';
$log = 'логин';
$pass = 'Пароль';
$db = 'Имя базы';

mysql_connect($host,$log,$pass);
mysql_select_db($db);

$q = mysql_query("SHOW TABLES");
while ($table = mysql_fetch_array($q))
{
        mysql_query("ALTER TABLE `".$table['Tables_in_'.$db]."` ENGINE = InnoDB");
}


?>


Подскажите пожалуйста, как и куда его вставить, чтобы изменить тип хранилища базы данных сайта на innodb
  • Вопрос задан
  • 1680 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
borisdenis
@borisdenis
Ленив и вреден...
Вставить в файл PHP, внести правильные данные и выполнить
Ответ написан
@starbart Автор вопроса
Прогер без стажа
Может быть кому пригодится !
В консоли mysql выполнять эти шаги не удобно, поскольку результаты Вы получите строки с "пайпами" (символ "|" ) в начале и конце строки. Для баз данных с 100+ таблиц это очень не удобно.

Выполните следующий запрос в PhpMyAdmin:
SET @DATABASE_NAME = 'имя_бд';


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;


Результат копируем и вставляем в новый запрос, желательно между тэгами:
begin transaction;
результат вставить сюда
commit transaction;


Единственно, я поменял begin transaction на BEGIN и соответственно COMMIT
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы