Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
maxapet
0 / 0 / 0
Регистрация: 08.02.2016
Сообщений: 98
1

Ошибка переполнения стека при удалении записей из таблицы

27.10.2016, 11:26. Просмотров 844. Ответов 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
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2016, 11:26
Ответы с готовыми решениями:

Как наладить связь между таблицами в mysql так, чтобы при удалении, удалялись все таблицы, связанные с этой. И еще о "призрачных записях"
У меня есть таблица clients, в ней есть поля contacts_id, где цифра ведет к...

Вывод уникальных записей с таблицы и суммирование дублированых записей с выводом колличества
Доброго времени суток форумчане! Не получается фильтровать записи при выводе...

Вывод из таблицы MySQL записей в виде html таблицы и дальнейшая их обработка
И снова здравствуйте! На этот раз я со сложным вопросом. Мне нужно вывести...

ошибка при удалении записей из бд
при удалении данных выскакивает ошибка: Удаление или изменение записи...

Что я мог сделать неправильно при удалении всех записей из таблицы?
пишу код procedure TForm3.Button2Click(Sender: TObject); begin...

6
Para bellum
Эксперт PHP
4187 / 3114 / 1010
Регистрация: 06.01.2011
Сообщений: 9,091
27.10.2016, 12:53 2
Цитата Сообщение от maxapet Посмотреть сообщение
На таблицу подвешены несколько триггеров, удаляющих записи из зависимых таблиц.
А чем foreign key не угодили?

Проверьте значение настройки "thread_stack" в файле my.cnf или my.ini
1
maxapet
0 / 0 / 0
Регистрация: 08.02.2016
Сообщений: 98
27.10.2016, 15:40  [ТС] 3
А чем foreign key не угодили?
Я только начинаю работать с MySQL- а что, Foreign Key обеспечивает удаление записей из зависимых таблиц?

"Проверьте значение настройки "thread_stack" в файле my.cnf или my.ini" - это понятно из описания ошибки, но неужели DELETE такая ресурсоёмкая операция? Обычно, переполнение стека происходит при бесконечной рекурсии, насколько я с этим сталкивался. Тут ведь ничего такого быть не должно.
0
BearBaloo
41 / 41 / 16
Регистрация: 04.10.2016
Сообщений: 154
Завершенные тесты: 1
27.10.2016, 15:41 4
Возможно кол-во записей большое и не хватает выделенной памяти для совершения операции, а вообще такая штука делается как говорил Para_bellum через foreign key

onDelete и onUpdate = CASCADE
2
Para bellum
Эксперт PHP
4187 / 3114 / 1010
Регистрация: 06.01.2011
Сообщений: 9,091
27.10.2016, 15:47 5
Лучший ответ Сообщение было отмечено maxapet как решение

Решение

Цитата Сообщение от maxapet Посмотреть сообщение
Foreign Key обеспечивает удаление записей из зависимых таблиц?
Да, если указать ON DELETE CASCADE. Например, в таблице "posts" есть поле "user_id", которое относится к полю "id" из таблицы "users". И вот если удалить из таблицы "users" запись с id = 1, то из таблицы "posts" удалятся все записи, у которых в поле "user_id" содержится единица.

Не знаю, как там у Вас всё организовано. Возможно, что есть какое-то зацикливание, если настройка "thread_stack" содержит вменяемое значение.
1
maxapet
0 / 0 / 0
Регистрация: 08.02.2016
Сообщений: 98
27.10.2016, 16:46  [ТС] 6
Не знаю, как там у Вас всё организовано. Возможно, что есть какое-то зацикливание, если настройка "thread_stack" содержит вменяемое значение.
Нет ничего сложного: главная таблица, и две зависимых, без каких-либо дополнительных связей.
Спасибо, сейчас попробую.
0
maxapet
0 / 0 / 0
Регистрация: 08.02.2016
Сообщений: 98
29.10.2016, 18:42  [ТС] 7
Сделал через PRIMARY KEY, и всё заработало, спасибо.
0
29.10.2016, 18:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2016, 18:42

Ошибка при удалении записей в таблице
Доброго времени суток, возникла проблема при удалении записей в таблице, при...

Ошибка при удалении повторяющихся записей
Добрый день! есть табличка Id_zavtag zav_number tag 1 ...

Ошибка переполнения стека
При компиляции всё нормально но при запуске ошибка uses crt; type mas1=array...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru