MySQL డేటాబేస్తో పని చేస్తున్నప్పుడు, కొత్త రికార్డ్ను పట్టికలోకి చొప్పించడానికి ప్రయత్నించినప్పుడు వినియోగదారులు అప్పుడప్పుడు నకిలీ కీ ఉల్లంఘన దోషాన్ని ఎదుర్కొంటారు. అదే ప్రాథమిక కీ లేదా ప్రత్యేక కీతో అడ్డు వరుస ఇప్పటికే ఉన్నప్పుడు ఈ లోపం సంభవిస్తుంది. అయితే, ప్రస్తుత రికార్డులను కొత్త విలువలతో నవీకరించడం ద్వారా ఈ సమస్యను పరిష్కరించవచ్చు. అటువంటి సందర్భాలలో, ' డూప్లికేట్ కీ అప్డేట్లో చొప్పించండి ” ఫీచర్ ఈ సమస్యను సమర్థవంతంగా పరిష్కరిస్తుంది.
ఈ పోస్ట్ “డూప్లికేట్ కీ అప్డేట్లో ఇన్సర్ట్ చేయి” అంటే ఏమిటో మరియు అది MySQLలో ఎలా పని చేస్తుందో ప్రదర్శిస్తుంది.
MySQLలో డూప్లికేట్ కీ అప్డేట్లో ఇన్సర్ట్ ఏమి చేస్తుంది?
MySQLలో, ది డూప్లికేట్ కీ అప్డేట్లో చొప్పించండి రెండు ఫంక్షనాలిటీలను కలిపి ఒకే ఆపరేషన్లో చేర్చే ఇన్సర్ట్ స్టేట్మెంట్ యొక్క అధునాతన లక్షణం. ఉదాహరణకు, ఇచ్చిన రికార్డ్ ఇప్పటికే లేనట్లయితే అది నిర్దిష్ట పట్టికలో రికార్డ్ను ఇన్సర్ట్ చేస్తుంది. అయితే, కావలసిన రికార్డ్ ఇప్పటికే ఉన్నట్లయితే, అది కొత్త విలువతో ఇప్పటికే ఉన్న రికార్డ్ను అప్డేట్ చేస్తుంది.
డూప్లికేట్ కీ అప్డేట్ ఫీచర్పై ఇన్సర్ట్ చేయడాన్ని ఎనేబుల్ చేయడానికి, వినియోగదారులు దిగువ ఇచ్చిన సింటాక్స్ని తప్పనిసరిగా అనుసరించాలి:
లోపల పెట్టు [ పట్టిక_పేరు ] ( [ col_1 ] , [ col_2 ] ,... )
విలువలు ( [ విలువ_1 ] , [ విలువ_2 ] ,... )
డూప్లికేట్ కీ అప్డేట్లో [ col_1 ] = [ విలువ_1 ] , [ col_2 ] = [ విలువ_2 ] , ...;
టేబుల్_పేరు, col_1, col_2, … మరియు val_1, val_2, …, మొదలైన వాటి స్థానంలో మీకు నచ్చిన పట్టిక పేరు, నిలువు వరుస పేర్లు మరియు విలువలను పేర్కొనండి.
ఉదాహరణ: MySQLలో డూప్లికేట్ కీ అప్డేట్ ఫీచర్పై ఇన్సర్ట్ను ఎలా ఉపయోగించాలి?
ముందుగా, తగిన అధికారాలతో MySQL డేటాబేస్కు కనెక్ట్ చేసి, ఆపై “linuxhint_author” పట్టిక యొక్క డేటాను పొందేందుకు క్రింది ఆదేశాన్ని అమలు చేయండి:
ఎంచుకోండి * linuxhint_author నుండి;
ఎంపిక ఆదేశం “linuxhint_author” పట్టిక యొక్క అన్ని రికార్డులను తిరిగి పొందుతుంది:
ఇప్పుడు 'linuxhint_author' టేబుల్లో నిర్దిష్ట రికార్డ్ను ఇన్సర్ట్ చేయడానికి లేదా అప్డేట్ చేయడానికి క్రింది SQL కమాండ్ను అమలు చేయండి, “ఆన్ డూప్లికేట్ కీ అప్డేట్” ఫీచర్ ఎనేబుల్ చేయబడింది:
linuxhint_authorలోకి చొప్పించండి ( id , పేరు, వయస్సు, రచయిత ర్యాంక్, ఇమెయిల్ )విలువలు ( 6 , 'అలెక్స్ జాన్సన్' , 29 , 3 , 'alex@example.com' )
డూప్లికేట్ కీ అప్డేట్లో
పేరు = విలువలు ( పేరు ) ,
వయస్సు = విలువలు ( వయస్సు ) ,
రచయిత ర్యాంక్ = VALUES ( రచయిత ర్యాంక్ ) ,
ఇమెయిల్ = VALUES ( ఇమెయిల్ ) ;
పేర్కొన్న రికార్డ్ ఇప్పటికే 'linuxhint_author' పట్టికలో లేనందున, ఇది ఎంచుకున్న పట్టికలో విజయవంతంగా చొప్పించబడుతుంది:
డూప్లికేట్ రికార్డ్ని చొప్పించి, ఎలాగో చూద్దాం ' డూప్లికేట్ కీ అప్డేట్లో MySQLలో ఫీచర్ వర్క్:
linuxhint_authorలోకి చొప్పించండి ( id , పేరు, వయస్సు, రచయిత ర్యాంక్, ఇమెయిల్ )విలువలు ( 3 , 'మైఖేల్ జాన్సన్' , 28 , 4 , 'michael@example.com' )
డూప్లికేట్ కీ అప్డేట్లో
పేరు = విలువలు ( పేరు ) ,
వయస్సు = విలువలు ( వయస్సు ) ,
రచయిత ర్యాంక్ = VALUES ( రచయిత ర్యాంక్ ) ,
ఇమెయిల్ = VALUES ( ఇమెయిల్ ) ;
దిగువ స్నిప్పెట్ నుండి, ఇప్పటికే ఉన్న రికార్డ్ కొత్త విలువలతో విజయవంతంగా నవీకరించబడిందని స్పష్టంగా చూడవచ్చు:
'డూప్లికేట్ కీని ఇన్సర్ట్ చేయి' ఫీచర్ మొత్తం రికార్డ్కు బదులుగా నిర్దిష్ట నిలువు వరుసకు కూడా వర్తింపజేయవచ్చు:
linuxhint_authorలోకి చొప్పించండి ( id , రచయిత ర్యాంక్ )విలువలు ( 3 , 2 )
డూప్లికేట్ కీ అప్డేట్ రచయిత ర్యాంక్ = విలువలు ( రచయిత ర్యాంక్ ) ;
పై కోడ్లో, ID “3” ఉన్న రచయిత యొక్క “రచయిత ర్యాంక్” కొత్త విలువ “2”కి నవీకరించబడుతోంది:
MySQLలో “ఇన్సర్ట్ ఆన్ డూప్లికేట్ కీ అప్డేట్” ఫీచర్ ఈ విధంగా పనిచేస్తుంది.
ముగింపు
MySQLలో, ది డూప్లికేట్ కీ అప్డేట్లో చొప్పించండి కొత్త అడ్డు వరుసను చొప్పించడం మరియు ఇప్పటికే ఉన్న అడ్డు వరుసను ఒకే ఆపరేషన్లో అప్డేట్ చేయడం/సవరించడం వంటి కార్యాచరణను కలపడానికి మమ్మల్ని అనుమతించే అధునాతన ఫీచర్. నిర్దిష్ట పట్టికలో కొత్త అడ్డు వరుసను చొప్పించడానికి ప్రయత్నిస్తున్నప్పుడు 'డూప్లికేట్ కీ ఉల్లంఘన' లోపాన్ని నివారించడానికి ఈ ఫీచర్ వినియోగదారులకు సహాయపడుతుంది. ఈ పోస్ట్ “డూప్లికేట్ కీ అప్డేట్లో ఇన్సర్ట్ చేయండి” మరియు అది MySQLలో ఎలా పని చేస్తుందో వివరించింది.