SSMS
 sql >> डेटाबेस >  >> Database Tools >> SSMS

SQL सर्वर प्रबंधन स्टूडियो मुझे एकाधिक प्राथमिक कुंजी के लिए एकाधिक विदेशी कुंजी बनाने की अनुमति नहीं देता है

मुझे लगता है कि आपने SSMS में एक अजीब गड़बड़ की होगी। मैं बिना किसी त्रुटि के SSMS 2014 का उपयोग करके आपकी स्कीमा बनाने में सक्षम था। नया FK जोड़ते समय इसने तीन समग्र प्राथमिक कुंजी कॉलम को पहले से भर दिया था। मैं यह सुनिश्चित करने के लिए सावधान था कि एफके में दो कॉलम जोड़ने से पहले वे सभी खाली हो गए थे। हो सकता है कि SSMS ने सोचा हो कि रिक्त पंक्तियों में से एक में अभी भी डेटा है।

संपादित करें:बस एक और विचार था, एसएसएमएस किसी तालिका को संपादित करते समय किए गए किसी भी बदलाव को कैशिंग करने के लिए जाना जाता है। उदाहरण के लिए, यदि आप दो तालिकाओं को संशोधित करने के लिए जाते हैं और दोनों संपादन विंडो खुली हैं। फिर आप पीके को एक विंडो में बदलते हैं और फिर इसे दूसरी विंडो में संदर्भित करने का प्रयास करते हैं, यह त्रुटि होगी क्योंकि इसने कैश किया है कि विंडो पहली बार खोले जाने पर पहली तालिका के लिए स्कीमा क्या था।

यहाँ मेरा जनरेट किया गया डीडीएल है:

CREATE TABLE [dbo].[AppRegion](
    [appname] [nvarchar](50) NOT NULL,
    [isocode] [char](5) NOT NULL,
 CONSTRAINT [PK_AppRegion] PRIMARY KEY CLUSTERED 
(
    [appname] ASC,
    [isocode] ASC
)
) ON [PRIMARY]

CREATE TABLE [dbo].[Translation](
    [ResourceKey] [nvarchar](128) NOT NULL,
    [appname] [nvarchar](50) NOT NULL,
    [isocode] [char](5) NOT NULL,
    [text] [nvarchar](400) NULL,
 CONSTRAINT [PK_Translation] PRIMARY KEY CLUSTERED 
(
    [ResourceKey] ASC,
    [appname] ASC,
    [isocode] ASC
)
) ON [PRIMARY]

ALTER TABLE [dbo].[Translation]   ADD  CONSTRAINT [FK_Translation_AppRegion] FOREIGN KEY([appname], [isocode])
REFERENCES [dbo].[AppRegion] ([appname], [isocode])



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. SQL प्रबंधन स्टूडियो - डेटाबेस आरेख में एक धराशायी / बिंदीदार संबंध रेखा क्या दर्शाती है?

  2. क्या 'OPTIMIZE_FOR_SEQUENTIAL_KEY' को हटाने से मेरी script.sql की विफलता का समाधान हो जाएगा या अधिक शामिल है (SQL सर्वर एक्सप्रेस DB -> SQL सर्वर)?

  3. लेन-देन में गतिरोध का शिकार, प्राथमिकता कैसे बदलें?

  4. लिंक किए गए सर्वर और ODBC का उपयोग करके अनुरोधित रूपांतरण समर्थित नहीं है

  5. INSERT, DELETE, UPDATE ऑपरेशंस की संख्या को सीमित करने के लिए टेबल पर ट्रिगर सेट करें