में मौजूदा साथ स्तंभ जोड़ें यह मेरे टेबल्स है:ऑल्टर तालिका डिफ़ॉल्ट मान और FK, कि मूल्य नहीं FK संदर्भ डाटा
सदस्य: ईद, ....
उत्पाद: ईद, ....
मेरे Member
तालिका कुछ मान आईडी = 0 के साथ कोई भी अगर उन्हें है और मैं ईद = 0 के साथ किसी भी सदस्य को शामिल नहीं करना चाहते हैं, तो मैं इस स्क्रिप्ट को चलाने के लिए प्रयास करें:
ALTER TABLE [Product]
ADD [Member_Id] BIGINT NOT NULL DEFAULT(0),
CONSTRAINT [FK_Product_Member] FOREIGN KEY ([Member_Id]) REFERENCES [Member];
तो कोई त्रुटि है:
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_Product_Member".
तो मैं कोशिश यह एक:
SET IDENTITY_INSERT [Member] ON
INSERT INTO [Member] ([Id]) VALUES (0);
SET IDENTITY_INSERT [Member] OFF
ALTER TABLE [Product]
ADD [Member_Id] BIGINT NOT NULL DEFAULT(0),
CONSTRAINT [FK_Product_Member] FOREIGN KEY ([Member_Id]) REFERENCES [Member];
DELETE FROM [Member] WHERE [Member].[Id] = 0;
फिर नए त्रुटि है:
The DELETE statement conflicted with the REFERENCE constraint "FK_Product_Member".
अगर मैं सभी टेबल्स फिर से बनाने की कोशिश , मेरे डेटा को खोने के साथ हर चीज ठीक रहेगी, इसलिए बैकअप पाने, टेबल बनाने और डेटा को पुनर्स्थापित करने की आवश्यकता है। तो क्या इस स्थिति के साथ टेबल बदलने का कोई तरीका है? आपका क्या सुझाव है?
कि काम नहीं किया है – Saeid
आप यह एक अच्छा तरीका नहीं है एक एक और रास्ता है.लेकिन कर सकते हैं (डिफ़ॉल्ट रूप मूल्य के लिए और बदलने की मेज के बाद एक वैध पहचान पत्र का उपयोग करें:
तो स्पष्ट समाधान
NULL
रों अनुमति देने के लिए है एफके संपादित करें) –