Единственный способ получить новое значение приращения - это не причудливая форма. Я предполагал, что вы вставляете новое значение, поэтому предполагается, что это максимальный идентификатор + 1:
CREATE TRIGGER mytrigger BEFORE INSERT ON yourtable
FOR EACH ROW BEGIN
SET NEW.thread_id = IF(
ISNULL(NEW.thread_id),
(SELECT MAX(id) + 1 FROM yourtable),
NEW.thread_id);
END;
В моем случае это сработало, если оно равно NULL, он получит максимальный идентификатор + 1, который будет новым идентификатором.