0 / 0 / 0
Регистрация: 08.02.2016
Сообщений: 98
|
|
1 | |
MySQL Ошибка переполнения стека при удалении записей из таблицы27.10.2016, 11:26. Показов 1692. Ответов 6
Метки нет (Все метки)
Ситуёвина такая: есть таблица. На таблицу подвешены несколько триггеров, удаляющих записи из зависимых таблиц. При попытке удалить записи из главной таблицы получаю такое сообщение об ошибке:
Thread stack overrun: 8828 bytes used of a 131072 byte stack, and 128000 bytes needed. Use 'mysqld --thread_stack=#' to specify a bigger stack. В чём может быть дело? Операция-то тривиальная. Нет?
0
|
27.10.2016, 11:26 | |
Ответы с готовыми решениями:
6
ошибка при удалении записей из бд Что я мог сделать неправильно при удалении всех записей из таблицы? Ошибка при удалении повторяющихся записей Ошибка при удалении записей в таблице |
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
27.10.2016, 12:53 | 2 |
А чем foreign key не угодили?
Проверьте значение настройки "thread_stack" в файле my.cnf или my.ini
1
|
0 / 0 / 0
Регистрация: 08.02.2016
Сообщений: 98
|
|
27.10.2016, 15:40 [ТС] | 3 |
"Проверьте значение настройки "thread_stack" в файле my.cnf или my.ini" - это понятно из описания ошибки, но неужели DELETE такая ресурсоёмкая операция? Обычно, переполнение стека происходит при бесконечной рекурсии, насколько я с этим сталкивался. Тут ведь ничего такого быть не должно.
0
|
41 / 41 / 16
Регистрация: 04.10.2016
Сообщений: 154
|
|
27.10.2016, 15:41 | 4 |
Возможно кол-во записей большое и не хватает выделенной памяти для совершения операции, а вообще такая штука делается как говорил Para_bellum через foreign key
onDelete и onUpdate = CASCADE
2
|
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
27.10.2016, 15:47 | 5 |
Сообщение было отмечено maxapet как решение
Решение
Да, если указать ON DELETE CASCADE. Например, в таблице "posts" есть поле "user_id", которое относится к полю "id" из таблицы "users". И вот если удалить из таблицы "users" запись с id = 1, то из таблицы "posts" удалятся все записи, у которых в поле "user_id" содержится единица.
Не знаю, как там у Вас всё организовано. Возможно, что есть какое-то зацикливание, если настройка "thread_stack" содержит вменяемое значение.
1
|
0 / 0 / 0
Регистрация: 08.02.2016
Сообщений: 98
|
|
27.10.2016, 16:46 [ТС] | 6 |
Спасибо, сейчас попробую.
0
|
0 / 0 / 0
Регистрация: 08.02.2016
Сообщений: 98
|
|
29.10.2016, 18:42 [ТС] | 7 |
Сделал через PRIMARY KEY, и всё заработало, спасибо.
0
|
29.10.2016, 18:42 | |
29.10.2016, 18:42 | |
Помогаю со студенческими работами здесь
7
Ошибка переполнения стека Ошибка переполнения стека Ошибка переполнения стека Ошибка переполнения стека. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |