Đúng. Như bạn đã phát hiện, giá trị id vẫn chưa được tạo trong trình kích hoạt CHÈN TRƯỚC. Nhưng bạn không thể thay đổi giá trị NEW.thread của mình trong trình kích hoạt SAU KHI CHÈN.
Bạn không thể dựa vào việc đọc INFORMATION_SCHEMA, vì bạn có thể gây ra tình trạng chủng tộc.
Bạn chỉ cần thực hiện INSERT, và sau đó thực thi ngay lập tức:
UPDATE comments SET thread=id WHERE id=LAST_INSERT_ID() AND thread IS NULL;
Nếu đó là một nhận xét gốc.
Xem thêm các câu trả lời trước đây của tôi về chủ đề tương tự:
- Nối một chuỗi và Id khóa chính trong khi chèn
- Hai cột tự động gia tăng hoặc tự động gia tăng cùng một giá trị trong cột khác