లోపాన్ని ఎలా పరిష్కరించాలి ‘IDENTITY_INSERT ఆఫ్‌కు సెట్ చేయబడినప్పుడు పట్టికలో గుర్తింపు కాలమ్ కోసం స్పష్టమైన విలువను చేర్చలేరు’?



సమస్యలను తొలగించడానికి మా పరికరాన్ని ప్రయత్నించండి

SQL సర్వర్ డేటాబేస్ను నిర్మించేటప్పుడు ప్రాధమిక కీ కాలమ్ తరచుగా ఆటో-ఇంక్రిమెంట్‌కు సెట్ చేయబడుతుంది. దీన్ని చేయడానికి ప్రాథమిక కీ కాలమ్ కోసం IDENTITY పరిమితి సెట్ చేయబడింది. ప్రారంభ స్థానం మరియు ఇంక్రిమెంట్ దశ IDENTITY కాలమ్‌కు పారామితులుగా బదిలీ చేయబడతాయి. క్రొత్త రికార్డ్ జతచేయబడినప్పుడు మరియు గుర్తింపు చొప్పించడం OFF కు సెట్ చేయబడినప్పుడు, IDENTITY కాలమ్ యొక్క విలువ ముందుగా నిర్వచించిన దశ ద్వారా సాధారణంగా సంఖ్య ద్వారా పెరుగుతుంది. అంతేకాకుండా, ఐడెంటిటీ ఇన్సర్ట్ ఆస్తి ఒకే సెషన్‌లో ఒక టేబుల్‌కు మాత్రమే ఆన్‌కి సెట్ చేయబడింది.



ఈ వ్యాసంలో, మేము లోపం గురించి చర్చిస్తాము “పట్టికలో గుర్తింపు కాలమ్ కోసం స్పష్టమైన విలువను చేర్చలేరు

IDENTITY_INSERT ఆఫ్‌కు సెట్ చేయబడినప్పుడు ” క్రింద చూపిన విధంగా.



“ఐడెంటిటీ ఇన్సర్ట్ ఆఫ్” గా మార్చడం మరియు “ప్రైమరీ కీ ఐడి” లేకుండా డేటాను ఇన్సర్ట్ స్టేట్మెంట్‌లోకి చొప్పించడం



వినియోగదారు “గుర్తింపు_ఇన్సర్ట్” ను “ఆఫ్” కు సెట్ చేసినప్పుడు లోపం తలెత్తుతుంది. అప్పుడు పట్టిక యొక్క ప్రాధమిక కీ కాలమ్‌లోకి డేటాను స్పష్టంగా చొప్పించడానికి ప్రయత్నిస్తుంది. దిగువ ఉదాహరణను ఉపయోగించి దీనిని వివరించవచ్చు.

డేటాబేస్ మరియు పట్టిక సృష్టి:

మొదట, “అనువర్తనం” అనే డేటాబేస్ సృష్టించండి.

“Appuals” అనే డేటాబేస్ సృష్టిస్తోంది.



కింది కోడ్‌ను ఉపయోగించి “వ్యక్తి” అనే పట్టికను సృష్టించండి. ఉపయోగించి టేబుల్‌ను నిర్మించారు “ప్రైమరీ కీ ఐడెంటిటీ”

టేబుల్ వ్యక్తిని సృష్టించండి (ID INT IDENTITY (1, 1), మొదటి_పేరు VARCHAR (MAX), చివరి_పేరు VARCHAR (MAX))

“వ్యక్తి” అనే పట్టికను సృష్టిస్తోంది

“గుర్తింపు_సర్ట్ ఆఫ్ | పై':

ది “ఐడెంటిటీ_సర్ట్ ఆఫ్ చేయండి | పై' ఈ లోపాన్ని పరిష్కరించడానికి మాకు సహాయపడుతుంది. ఈ ప్రకటనకు సరైన వాక్యనిర్మాణం క్రింద ఉంది.

IDENTITY_INSERT ని సెట్ చేయండి. .
పై

మొదటి వాదన అయితే పట్టిక ఉన్న డేటాబేస్ పేరు. రెండవ వాదన చూపిస్తుంది, ఆ పట్టిక ఎవరి గుర్తింపు విలువను సెట్ చేయాలో స్కీమా పై లేదా ఆఫ్ . మూడవ వాదన

గుర్తింపు కాలమ్ ఉన్న పట్టిక.

డేటా చొప్పించడానికి ప్రాథమికంగా రెండు వేర్వేరు మార్గాలు లోపం లేకుండా ఉన్నాయి. ఇవి ఈ లోపానికి పరిష్కారంగా పరిగణించబడతాయి మరియు క్రింద చర్చించబడతాయి.

లోపం 1: గుర్తింపు_సర్ట్ ఆఫ్ చేయండి

మొదటి సందర్భంలో, మేము డేటాను పట్టికలోకి చొప్పించాము “ఐడెంటిటీ ఇన్సర్ట్” కు సెట్ చేయబడింది “ఆఫ్” . కాబట్టి, INSERT స్టేట్‌మెంట్‌లో ID ఉంటే, మీరు లోపం పొందుతారు “IDENTITY_INSERT ఆఫ్‌కు సెట్ చేయబడినప్పుడు‘ వ్యక్తి ’పట్టికలో గుర్తింపు కాలమ్ కోసం స్పష్టమైన విలువను చేర్చలేరు”.

ప్రశ్న ట్యాబ్‌లో కింది కోడ్‌ను అమలు చేయండి.

ఐడెంటిటీ_సర్ట్ వ్యక్తిని సెట్ చేయండి; వ్యక్తి (ID, మొదటి_పేరు, చివరి_పేరు) విలువల్లోకి చొప్పించండి (3, 'సాడియా