Почему этот триггер MySQL вызывает переполнение стека?

) Я думаю, кто-то пытался имитировать наличие второго значения auto_increment. Только что обновлен до MySQL 5.5.9

CREATE TABLE `job_title` (
  `job_id` int(11) NOT NULL AUTO_INCREMENT,
  `position_id` int(11) DEFAULT NULL,
  `title` varchar(255) COLLATE latin1_general_cs NOT NULL,
  `selectable` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`job_id`),
  UNIQUE KEY `title` (`title`)
) ENGINE=InnoDB;

create trigger job_position_trigger
  before insert on job_title for each row
 begin
   if new.position_id is null then 
     set @position = (select max(position_id)+1 from job_title);
     set new.position_id = @position;
   end if;
 end

Ошибка: Переполнение стека потоков: из стека 131072 байта используется 9024 байта, а требуется 128000 байтов. Используйте mysqld --thread_stack = #, чтобы указать {{1} } большой стек. 'по запросу. База данных по умолчанию:' mydb '. Запрос:' вставить игнорирование в значения job_title (title) ('Morning Show Personality')

6
задан ʞɔıu 16 February 2011 в 20:51
поделиться