Cách duy nhất tôi tìm thấy để nhận được giá trị gia tăng mới không phải là một hình thức ưa thích. Tôi đã giả sử rằng bạn đang chèn một giá trị mới, vì vậy nó được giả sử là id tối đa + 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;
Nó hoạt động với trường hợp của tôi, nếu nó NULL, nó sẽ nhận được ID tối đa + 1, đây sẽ là id mới.