SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.08.2014 00:13:24

animegirl
Активист
Зарегистрирован: 28.07.2011
Сообщений: 288

Помогите понять ошибку (#1436)

Создала таблицы:


--
-- База данных: `test`
--

-- --------------------------------------------------------

--
-- Структура таблицы `test1`
--

CREATE TABLE IF NOT EXISTS `test1` (
  `a` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `b` int(11) unsigned NOT NULL,
  PRIMARY KEY (`a`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=334 ;

--
-- Дамп данных таблицы `test1`
--

INSERT INTO `test1` (`a`, `b`) VALUES
(111, 222),
(333, 444);

--
-- Триггеры `test1`
--
DROP TRIGGER IF EXISTS `test_logging`;
DELIMITER //
CREATE TRIGGER `test_logging` BEFORE UPDATE ON `test1`
 FOR EACH ROW INSERT INTO `test1_log` (`c`,`d`)
VALUES (OLD.a,OLD.b)
//
DELIMITER ;

-- --------------------------------------------------------

--
-- Структура таблицы `test1_log`
--

CREATE TABLE IF NOT EXISTS `test1_log` (
  `c` int(10) unsigned NOT NULL,
  `d` int(10) unsigned NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Дамп данных таблицы `test1_log`
--

INSERT INTO `test1_log` (`c`, `d`) VALUES
(555, 666),
(777, 888);
 


Попыталась изменить одну ячейку:

 UPDATE `test`.`test1` SET `a` = '999' WHERE `test1`.`a` =111
 



Получила в ответ:

mysql написал:

#1436 - Thread stack overrun:  10128 bytes used of a 131072 byte stack, and 128000 bytes needed.  Use 'mysqld --thread_stack=#' to specify a bigger stack.

Гугл говорит, что не хватает значения "thread_stack" в настройках MySQL, но у меня в конфиге прописано 128К, как этого может быть мало для такого простого запроса?


Скажи миру - НЯ!

Неактивен

 

#2 27.08.2014 00:37:30

animegirl
Активист
Зарегистрирован: 28.07.2011
Сообщений: 288

Re: Помогите понять ошибку (#1436)

Подняла до 256К, всё прошло, но вопрос остался открыт - почему?


Скажи миру - НЯ!

Неактивен

 

#3 27.08.2014 00:53:10

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3879

Re: Помогите понять ошибку (#1436)

Объяснение в первом ответе здесь:
http://stackoverflow.com/questions/8821 … mple-query
Перед выполнением любой процедуры MySQL проверяет, что в стеке есть 128 тысяч свободных байт. Если это условие неверно, выдается данная ошибка. Поведение сделано, вероятно, для того, чтобы существовал некий стандарт памяти в стеке, на который процедуры могли бы рассчитывать.

Неактивен

 

#4 27.08.2014 01:08:23

animegirl
Активист
Зарегистрирован: 28.07.2011
Сообщений: 288

Re: Помогите понять ошибку (#1436)

rgbeast написал:

Объяснение в первом ответе здесь:
http://stackoverflow.com/questions/8821 … mple-query
Перед выполнением любой процедуры MySQL проверяет, что в стеке есть 128 тысяч свободных байт. Если это условие неверно, выдается данная ошибка. Поведение сделано, вероятно, для того, чтобы существовал некий стандарт памяти в стеке, на который процедуры могли бы рассчитывать.

У меня туго с английским (
Спасибо за объяснение.


Скажи миру - НЯ!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson