आप शून्य से अधिक पंक्तियों वाली तालिका में एक नॉट न्यूल कॉलम नहीं जोड़ सकते हैं, जब कॉलम उन मानों तक सीमित है जो मूल तालिका में मेल खाते हैं, और फिर भी केवल NULL मान हैं क्योंकि यह एक नया, अप्रचलित कॉलम है जिसमें कोई डिफ़ॉल्ट नहीं है ।
वर्कअराउंड इसे चरणों में करना है:कॉलम जोड़ें, लेकिन इसे NULL घोषित न करें, और अभी तक विदेशी कुंजी घोषित न करें।
ALTER TABLE boys
ADD COLUMN toy_id INT;
फिर इसे वैध डेटा से भरें जो आपके खिलौनों की तालिका में कुछ मूल्यों से मेल खाता हो।
UPDATE boys SET toy_id = ...;
फिर कॉलम को नॉट न्यूल में बदलें, और बाधा उत्पन्न करें:
ALTER TABLE boys MODIFY COLUMN toy_id INT NOT NULL,
ADD CONSTRAINT toys_toy_id_fk
FOREIGN KEY(toy_id)
REFERENCES toys(toy_id);