हां। जैसा कि आपने पाया, आईडी मान अभी तक INSERT ट्रिगर से पहले उत्पन्न नहीं हुआ है। लेकिन आप INSERT ट्रिगर के बाद अपना NEW.thread मान नहीं बदल सकते।
आप INFORMATION_SCHEMA पढ़ने पर भरोसा नहीं कर सकते, क्योंकि आप दौड़ की स्थिति पैदा कर सकते हैं।
आपको बस INSERT करना होगा, और फिर तुरंत निष्पादित करना होगा:
UPDATE comments SET thread=id WHERE id=LAST_INSERT_ID() AND thread IS NULL;
अगर यह मूल टिप्पणी है।
इसी तरह के विषय पर मेरे पिछले उत्तर भी देखें:
- सम्मिलित करते समय एक स्ट्रिंग और प्राथमिक कुंजी आईडी को जोड़ना
- दो ऑटोइनक्रिकमेंट कॉलम या ऑटोइनक्रिकमेंट और दूसरे कॉलम में समान मान