MySQL చొప్పించు నకిలీ కీని విస్మరించండి

Mysql Insert Ignore Duplicate Key



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

వాక్యనిర్మాణం:

ఇన్సర్ట్ ఇగ్నోర్ ప్రశ్నకు వాక్యనిర్మాణం ఇక్కడ ఉంది.







>>పట్టిక పేరులో ఇగ్నోర్‌ని చేర్చండి(col1, col2, col3)విలువలు(విలువ_ జాబితా),(విలువ_ జాబితా),(విలువ_ జాబితా);

వర్క్‌బెంచ్ ద్వారా ఇన్సర్ట్ ఇగ్నోర్:

మీ సిస్టమ్ నుండి మీ MySQL వర్క్‌బెంచ్ 8.0 ని తెరిచి, దానిని డేటాబేస్ ఉదాహరణకి కనెక్ట్ చేయండి.





కమాండ్ ఏరియాలో, మీరు నాలుగు కాలమ్‌లతో ఒక టేబుల్ ఎంప్లాయీని క్రియేట్ చేయాలి, అక్కడ వాటిలో ఒకటి ప్రత్యేకంగా అని పేర్కొనాలి. ఈ పట్టికను రూపొందించడానికి నావిగేటర్ ప్రశ్న ప్రాంతంలో దిగువ ప్రశ్నను ప్రయత్నించండి. మొత్తం ప్రశ్నను ఎంచుకోండి మరియు దాన్ని అమలు చేయడానికి ఫ్లాష్ గుర్తుపై క్లిక్ చేయండి.





>>టేబుల్ ఉద్యోగిని సృష్టించండి(ID int ప్రాథమిక కీ శూన్యమైనది కాదు, పేరు వర్చార్(యాభై)శూన్యమైనది కాదు, వయస్సు వర్చర్(యాభై), జీతం వర్చార్(యాభై), ఏకైక(ID));

సృష్టించిన తర్వాత, మీరు డేటాబేస్ డేటా క్రింద ఉన్న పట్టికల ఎంపిక కింద జాబితాలోని టేబుల్ ఉద్యోగిని కనుగొనవచ్చు.



గ్రిడ్ వీక్షణలో, మీరు ఎలాంటి ప్రశ్నను టైప్ చేయకుండా రికార్డులను నమోదు చేయవచ్చు. కాబట్టి, టేబుల్ ఉద్యోగి యొక్క గ్రిడ్ వీక్షణను తెరిచి, క్రింద చూపిన విధంగా కొన్ని రికార్డులను జోడించండి. మేము నకిలీలు లేకుండా అన్ని ప్రత్యేకమైన రికార్డులను నమోదు చేసాము. మార్పులను వర్తింపజేయడానికి 'వర్తించు' బటన్‌ని నొక్కండి.

మేము పైన నమోదు చేసిన రికార్డులకు సంబంధించిన సంబంధిత ప్రశ్నలతో కొత్త విండో తెరవబడుతుంది. ఈ స్క్రీన్‌ను రివ్యూ స్క్రీన్ అని పిలుస్తారు. మీరు ఏదైనా మార్చాలనుకుంటే, మీరు దీన్ని ఇక్కడ చేయవచ్చు. లేకపోతే, ప్రశ్నలను అమలు చేయడానికి వర్తించు బటన్‌ని నొక్కండి.

మీరు చూడగలిగినట్లుగా, ప్రశ్న విజయవంతంగా అమలు చేయబడింది మరియు రికార్డులు డేటాబేస్ మరియు దాని పట్టికలో సేవ్ చేయబడతాయి. మేము కాలమ్ ID లో ఏదైనా నకిలీ విలువను జోడించి ఉంటే అది ఒక దోషాన్ని సృష్టిస్తుంది. ముగించు బటన్ నొక్కండి.

ఇదంతా గ్రిడ్ వీక్షణకు సంబంధించినది. ఇప్పుడు, మేము ప్రశ్న ప్రాంతం ద్వారా రికార్డులను చొప్పించాము. ఇంతలో, అవుట్‌పుట్‌ను తనిఖీ చేయడానికి మేము ఈసారి నకిలీ రికార్డులను చొప్పించాము. కాబట్టి, మేము దిగువ ఇన్సర్ట్ ప్రశ్నను ప్రయత్నించాము, ఇక్కడ మాకు రెండు విలువల విలువలు ఉన్నాయి. కాలమ్ 'ID' వద్ద రెండు విలువల జాబితాలు ఒకే విలువను కలిగి ఉంటాయి. ప్రశ్నను ఎంచుకుని, ప్రశ్నను అమలు చేయడానికి ఫ్లాష్ గుర్తును నొక్కండి.

ప్రశ్న సరిగ్గా పనిచేయదు, మరియు చిత్రంలో ప్రదర్శించిన విధంగా INSERT కమాండ్‌లోని నకిలీ విలువలు కారణంగా ఇది ఒక లోపాన్ని సృష్టిస్తుంది.

ఇప్పుడు ఇన్సర్ట్ ఇగ్నోర్ క్లాజ్‌తో అదే ప్రశ్నను ప్రయత్నించండి మరియు సమర్పించిన విధంగా అమలు చేయండి.

ఇది అవుట్‌పుట్ ఏరియాలో లోపం ఏర్పడదని మీరు చూడవచ్చు, కానీ కమాండ్ డూప్లికేట్ విలువలను కలిగి ఉందని ఇది హెచ్చరికను ఇస్తుంది.

టేబుల్ ఉద్యోగుల గ్రిడ్ వీక్షణను రిఫ్రెష్ చేయండి. ఇన్సర్ట్ ఇగ్నోర్ ప్రశ్న సగానికి పని చేసింది. ఇది విలువల యొక్క మొదటి జాబితాను పట్టికలో చేర్చింది, కానీ పునరావృత విలువ 13 కారణంగా విలువల యొక్క రెండవ జాబితా విస్మరించబడింది.

కమాండ్-లైన్ షెల్ ద్వారా ఇన్సర్ట్ ఇగ్నోర్:

ఈ భావనను అర్థం చేసుకోవడానికి, మీ సిస్టమ్‌లో MySQL కమాండ్-లైన్ క్లయింట్ షెల్‌ను తెరుద్దాం. అడిగిన తర్వాత, దానిపై పని చేయడం ప్రారంభించడానికి మీ MySQL పాస్‌వర్డ్‌ను టైప్ చేయండి.

ఇప్పుడు పట్టికను సృష్టించే సమయం వచ్చింది. అలా చేయడానికి క్రింది ఆదేశాన్ని ప్రయత్నించండి. మేము 'మినిస్టర్' అనే పట్టికను సృష్టించాము, అయితే దాని కాలమ్‌లలో ఒకదానికి ప్రత్యేకమైన అడ్డంకి ఉంది. కాలమ్ ID ప్రత్యేక విలువలను మాత్రమే అంగీకరిస్తుందని మరియు నకిలీ విలువలను కాదని స్పష్టంగా ఉంది.

>>టేబుల్ డేటాను సృష్టించండి(మిడ్ INT ప్రాథమిక కీ ప్రత్యేకమైనది శూన్యమైనది కాదు, పేరు వార్చర్(నాలుగు ఐదు), నగరం VARCHAR(నాలుగు ఐదు));

ప్రశ్న తగిన విధంగా పనిచేస్తుంది మరియు పట్టిక సృష్టించబడింది. ఇన్సర్ట్ ఇగ్నోర్ నిబంధనను అర్థం చేసుకోవడానికి, మీరు మొదట సాధారణ ఇన్‌సర్ట్ కమాండ్ పని చేస్తున్నట్లు చూడాలి. మీరు అనేక సమాచార డేటాను పట్టికలో చేర్చడానికి INSERT ఆదేశాన్ని ఉపయోగిస్తుంటే, MySQL లావాదేవీని నిలిపివేస్తుంది మరియు ప్రాసెసింగ్ అంతటా లోపం సంభవించినట్లయితే మినహాయింపును సృష్టిస్తుంది. పర్యవసానంగా, పట్టికలో ఏవైనా వరుసలు జోడించబడలేదు. దిగువ చూపించబడిన ప్రశ్నను ఉపయోగించి టేబుల్ మినిస్టర్‌లో మొదటి రికార్డ్‌ను చొప్పించండి. ప్రశ్న ప్రస్తుతం విజయవంతంగా పని చేస్తుంది, ఎందుకంటే టేబుల్ ప్రస్తుతం ఖాళీగా ఉంది, మరియు దానితో ప్రతిస్పందించడానికి రికార్డ్ లేదు.

కాలమ్ ID ప్రత్యేకమైనది కాబట్టి, కమాండ్-లైన్ షెల్‌పై మేము దిగువ సూచనలను ప్రయత్నించినప్పుడు, అది లోపాన్ని సృష్టిస్తుంది. దీనికి కారణం మేము మునుపటి ప్రశ్నలో 11 విలువను జోడించాము మరియు UNIQUE కీ కారణంగా అది మళ్లీ మళ్లీ విలువను జోడించడానికి అనుమతించదు.

అందువల్ల, పట్టికను తనిఖీ చేసినప్పుడు, మొదటి ఇన్సర్ట్ ప్రశ్న ద్వారా పట్టికలో 1 రికార్డ్ మాత్రమే జోడించబడిందని మనం చూడవచ్చు.

>>ఎంచుకోండి*డేటామినిస్టర్ నుండి;

దీనికి విరుద్ధంగా, మీరు ఇన్సర్ట్ ఇగ్నోర్ నిబంధనను ఉపయోగిస్తుంటే, దోషాన్ని ప్రేరేపించే తప్పు డేటా వరుసలు నిర్లక్ష్యం చేయబడతాయి మరియు ఖచ్చితమైన వాటిని మాత్రమే నమోదు చేస్తాయి. దిగువ ఆదేశంలో, మేము పట్టికలో పదేపదే విలువలను జోడించడాన్ని నివారించడానికి మరియు లోపాన్ని పట్టించుకోకుండా ఇన్సర్ట్ ఇగ్నోర్ ఆదేశాన్ని ఉపయోగిస్తున్నాము. మీరు చూడగలిగినట్లుగా, మొదటి విలువల జాబితా మునుపటి ప్రశ్నలో మాదిరిగానే 11 నకిలీ విలువను కలిగి ఉంది. విలువల యొక్క రెండవ జాబితా ప్రత్యేకమైనది అయితే, ఇది పట్టికలో చొప్పించిన 1 రికార్డ్‌ను చూపుతుంది, ఇది విలువల యొక్క రెండవ జాబితా. MySQL కూడా 1 రికార్డ్ మాత్రమే చొప్పించబడిందని మరియు సందేశంలో 1 హెచ్చరిక సృష్టించబడిందని కూడా సూచిస్తుంది. మేము ఇన్సర్ట్ ఇగ్నోర్ నిబంధనను ఉపయోగిస్తుంటే, MySQL ఒక హెచ్చరికను అందిస్తుందని మీరు అనుకోవచ్చు.

దిగువ అవుట్‌పుట్ నుండి మీరు చూడగలిగినట్లుగా, ఈ పట్టికలో మాకు రెండు రికార్డులు మాత్రమే ఉన్నాయి -పై ప్రశ్నలో అందించిన మొదటి విలువల జాబితా, ఇది నిర్లక్ష్యం చేయబడింది.

>>ఎంచుకోండి*డేటామినిస్టర్ నుండి;

ముగింపు:

MySQL వర్క్‌బెంచ్ మరియు MySQL కమాండ్-లైన్ క్లయింట్ షెల్ ద్వారా డూప్లికేట్ విలువలపై ఇన్సర్ట్ ఇగ్నోర్‌కు అవసరమైన అన్ని ఉదాహరణలను మేము చేసాము.