У меня есть MySQL DB и таблица innoDB.У меня есть страница php, которая подключается, блокирует таблицу, делает некоторые обновления, а затем разблокирует таблицу.Страница PHP обслуживается через apache через wamp.
Страница php загружает файл в базу данных.Я решил смоделировать сбой системы, загрузив файл, размер которого больше памяти, выделенной для PHP.Это определенно вызвало эту ошибку: допустимый объем памяти 18874368 байт исчерпан (попытался выделить 6176754 байт).После этого таблицы, которые были заблокированы во время обновлений, все еще заблокированы.
Ошибка, возникающая при попытке получить доступ к таблицам после этой ошибки: Таблица «a» не была заблокирована с помощью LOCK TABLES.Я знаю, что это проблема блокировки, потому что я вызову SQL-запрос и попытаюсь выбрать из таблицы, которая была заблокирована, и она просто ждет, точно так же, как это происходит, когда таблица заблокирована.Если я затем уничтожу процесс Apache, оператор, который я попытался запустить в приглашении SQL, в конце концов пройдет.Я предполагаю, что когда я убиваю процесс Apache, MySQL понимает, что блокировка таблицы должна быть снята из-за разрыва соединения.
Любые идеи ??