Опубликовано 18.09.2021
Основные различия заключаются в том, что InnoDB поддерживает транзакции и внешние ключи, а MyISAM - нет.
При работе с базами данных MySQL следует внимательно следить за типом создаваемых таблиц. Они всегда должны быть InnoDB. Если случайно создались MyISAM - нужно их удалить и создать заново, с правильными настройками.
За настройку типа отвечает параметр ENGINE.
Пример создания новой таблицы:
CREATE TABLE `table_1` (
`id` int(11) NOT NULL,
`name` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Если встречаются странные не очевидные баги, обязательно нужно проверить тип таблиц, возможно, проблема там.
InnoDB наш бро.
Подробнее можно почитать тут:
https://ru.wikipedia.org/wiki/InnoDB
https://ru.wikipedia.org/wiki/MyISAM