MySQL அட்டவணையில் தரவு ஏற்கனவே இல்லை என்றால் மட்டுமே புதிய வரிசையைச் செருகுவது பற்றி இந்த இடுகை விவாதிக்கும். இந்த இடுகையைத் தொடங்குவதற்கு முன், நீங்கள் உங்கள் MySQL உள்ளூர் சேவையகத்தில் உள்நுழைந்துள்ளீர்கள் என்பதை உறுதிசெய்து, நீங்கள் வேலை செய்ய விரும்பும் தரவுத்தளத்தைத் தேர்ந்தெடுத்துள்ளீர்கள்.
'புறக்கணிப்பைச் செருகு' அறிக்கையைப் பயன்படுத்தி தரவு இல்லை என்றால் மட்டுமே புதிய வரிசையைச் செருகவும்
சரி, தலைப்பில் உள்ள கேள்விக்கான பதில் மிகவும் எளிமையானது மற்றும் நேரடியானது. வெறுமனே பயன்படுத்தவும் ' செருகு ' முக்கிய வார்த்தையுடன் ' புறக்கணி ” முக்கிய வார்த்தை. MySQL இல் தரவுகளின் முந்தைய உள்ளீடு எதுவும் காணப்படாதபோது மட்டுமே புதிய தரவு அல்லது செருகும் வினவல் செயல்படுத்தப்படுவதை இது உறுதி செய்யும். இதைப் பற்றிய சுருக்கமான கண்ணோட்டத்தைப் பெற, பின்வரும் தொடரியலைப் பாருங்கள்:
செருகு புறக்கணி INTO [ மேசை - பெயர் ] ( [ நெடுவரிசை1 - பெயர் ] , [ நெடுவரிசை2 - பெயர் ] , [ நெடுவரிசை3 - பெயர் ] ) மதிப்புகள் ( [ மதிப்பு1 ] , [ மதிப்பு2 ] , [ மதிப்பு3 ] ) ;
பயனர் வரிசை மதிப்பை உள்ளிட விரும்பினால் ஒரு உதாரணத்தைப் பார்ப்போம் ' 1 ”,” ஜான் 'மற்றும்' டோ 'இல்' வாடிக்கையாளர் 'நெடுவரிசைகளுக்கான அட்டவணை' ஐடி ,”” முதல் பெயர் 'மற்றும்' கடைசிப்பெயர் ' முறையே. இந்த மதிப்புகளைக் கொண்ட வரிசை ஏற்கனவே இல்லை என்றால், இந்த மதிப்புகளைச் செருக இந்த வினவலை இயக்கவும்:
தேர்ந்தெடுக்கவும் * இருந்து வாடிக்கையாளர்;
செருகு புறக்கணி INTO வாடிக்கையாளர் ( ஐடி , முதல் பெயர் , கடைசிப்பெயர் ) மதிப்புகள் ( 1 , 'ஜான்' , 'டோ' ) ;
வெளியீட்டில் வினவலை இயக்குவதற்கு முன்னும் பின்னும் அட்டவணையின் தரவைக் காண்பிக்கும் இரண்டு அட்டவணைகள் உள்ளன. அட்டவணையில் எதுவும் மாறாமல் இருப்பதை நீங்கள் கவனிக்கலாம், ஏனெனில் வரிசை ஏற்கனவே இருந்ததால் MySQL பிழையைக் காட்டாமல் செருகும் செயல்முறையை வெற்றிகரமாகப் புறக்கணித்துள்ளது:
'எங்கே இல்லை' என்ற பிரிவைப் பயன்படுத்தி தரவு இல்லை என்றால் மட்டுமே புதிய வரிசையைச் செருகவும்
MySQL இல், ' எங்கே இல்லை வரிசைகள் அட்டவணையில் பயன்படுத்தப்படும் போது அவை ஏற்கனவே இருந்தால் அவை செருகப்படுவதைத் தடுக்கிறது. உள்ளே நுழைத்தல் ஒரு நிபந்தனையை வரையறுக்க துணைக் கேள்வியுடன் கூடிய அறிக்கை. இந்த உட்பிரிவு துணைக் கேள்வியுடன் பயன்படுத்தப்படும் போது ' (தேர்வு * [அட்டவணை-பெயர்] [நெடுவரிசை-பெயர்]=[வெளிப்பாடு]); ” நிபந்தனையை பூர்த்தி செய்யும் அட்டவணையில் ஒரு வரிசை இருக்கிறதா என்று சரிபார்க்கிறது. ஒரு வரிசை இருந்தால், ' எங்கு இல்லை 'பிரிவு தவறான மதிப்பை வழங்கும், மேலும்' தேர்ந்தெடுக்கவும் ” அறிக்கை எந்த வரிசையையும் தராது. இதன் விளைவாக, வரிசை அட்டவணையில் செருகப்படாது. தொடரியல் கீழே கொடுக்கப்பட்டுள்ளது:
செருகு INTO [ மேசை - பெயர் ] ( [ நெடுவரிசை1 - பெயர் ] , [ நெடுவரிசை2 - பெயர் ] , [ நெடுவரிசை3 - பெயர் ] )தேர்ந்தெடுக்கவும் [ மதிப்பு1 ] , [ மதிப்பு2 ] , [ மதிப்பு3 ]
எங்கே இல்லை உள்ளது ( தேர்ந்தெடுக்கவும் * இருந்து [ மேசை - பெயர் ] [ நெடுவரிசை - பெயர் ] = [ வெளிப்பாடு ] ) ;
பணியாளர் அட்டவணையில் மதிப்புகளைக் கொண்ட ஒரு வரிசையை பயனர் செருக விரும்பினால் ஒரு உதாரணத்தைப் பார்ப்போம் ' 1 ”,” அமெரிக்கன் 'மற்றும்' ஹென்ரியாட் 'நெடுவரிசைகளில்' ஐடி ”,” நிறுவனத்தின் பெயர் 'மற்றும்' தொடர்பு பெயர் ' முறையே. ஆனால் ' என்ற ஐடியுடன் ஒரு வரிசை இருந்தால் மட்டுமே 1 ” அட்டவணையில் காணப்படவில்லை அல்லது அது இல்லை. அந்த குறிப்பிட்ட வழக்கில், வினவல் பின்வருமாறு மாறும்:
தேர்ந்தெடுக்கவும் * இருந்து பணியாளர்;
செருகு INTO பணியாளர் ( ஐடி , நிறுவனத்தின் பெயர் , தொடர்பு பெயர் )
தேர்ந்தெடுக்கவும் 1 , 'அமெரிக்கன்' , 'ஹென்ரியட்'
எங்கே இல்லை உள்ளது ( தேர்ந்தெடுக்கவும் * இருந்து பணியாளர் எங்கே ஐடி = 1 ) ;
வெளியீடு ஒரு புதிய வரிசையைக் காட்டுகிறது, அது '' உடன் வரிசையாக செருகப்படவில்லை ஐடி ' சமமாக ' 1 ” ஏற்கனவே இருந்தது.
'நகல் விசை புதுப்பிப்பில்' உட்பிரிவைப் பயன்படுத்தி தரவு இல்லை என்றால் மட்டுமே புதிய வரிசையைச் செருகவும்
சரி, மற்றொரு வழி ' டூப்ளிகேட் கீ புதுப்பிப்பில் MySQL இல் 'பிரிவு. இந்த உட்பிரிவு 'INSERT INTO' வினவலுடன் 'if-else' செயல்படுத்தப்படும். எனவே டேபிளுக்குள் இருக்கும் டேட்டா தனித்துவமாக இருந்தால் மட்டுமே அப்டேட் செய்யப்படும். இல்லையெனில், எந்த மாற்றமும் ஏற்படாது. இதற்கான பொதுவான தொடரியல் பின்வருமாறு:
செருகு INTO [ மேசை - பெயர் ] ( [ நெடுவரிசை1 - பெயர் ] , [ நெடுவரிசை2 - பெயர் ] , [ நெடுவரிசை3 - பெயர் ] ) மதிப்புகள் ( [ மதிப்பு1 ] , [ மதிப்பு2 ] , [ மதிப்பு3 ] )ஆன் நகல் முக்கிய புதுப்பிக்கவும் [ நெடுவரிசை1 - பெயர் ] = [ நெடுவரிசை1 - பெயர் ] ;
மதிப்புகளைச் செருக ஒரு உதாரணத்தைப் பார்ப்போம் ' 2 ”,” பாஸ்கேல் ”,” நிக்சன் ”,” லண்டன் ”,” யுகே ” மற்றும் '(171) 555-7788 'மேசையில்' வாடிக்கையாளர் 'நெடுவரிசைகளுக்கு' ஐடி ”,” முதல் பெயர் ”,” கடைசிப்பெயர் ”,” நகரம் ”,” நாடு 'மற்றும்' தொலைபேசி ' முறையே. வரிசை ஏற்கனவே இல்லை என்றால், அது செருகப்படும். இல்லையெனில், அது மதிப்புகளை புதுப்பிக்கும் ' ஐடி = ஐடி ” நிபந்தனை பூர்த்தி. இந்த வினவலை இயக்கவும்:
தேர்ந்தெடுக்கவும் * இருந்து வாடிக்கையாளர் ;செருகு INTO வாடிக்கையாளர் ( ஐடி , முதல் பெயர் , கடைசிப்பெயர் , நகரம் , நாடு , தொலைபேசி )
மதிப்புகள் ( 2 , 'பாஸ்கேல்' , 'நிக்சன்' , 'லண்டன்' , 'யுகே' , '(171) 555-7788' )
ஆன் நகல் முக்கிய புதுப்பிக்கவும் ஐடி = ஐடி;
வினவலை இயக்கும் முன் இது அட்டவணை, நீங்கள் பார்க்க முடியும் ' ஐடி ' சமமாக ' 2 ” இல்லை:
வினவலை இயக்கிய பிறகு, இந்த வினவல் அட்டவணையில் புதிய வரிசைகளைச் செருகும்:
வினவலை இயக்குவதற்கு முன் தரவு இல்லாததால், புதிய வரிசையை வெற்றிகரமாகச் செருகியுள்ளீர்கள்.
முடிவுரை
MySQL இல், '' ஐப் பயன்படுத்தி தரவு ஏற்கனவே இல்லை என்றால் மட்டுமே புதிய வரிசையைச் செருகவும். புறக்கணிப்பைச் செருகவும் 'அறிக்கை அல்லது' எங்கு இல்லை 'பிரிவு' உள்ளே நுழைத்தல் ” அறிக்கை. இதைச் செய்வதற்கான மற்றொரு வழி ' டூப்ளிகேட் கீ புதுப்பிப்பில் 'பிரிவு' உள்ளே நுழைத்தல் வரிசை ஏற்கனவே இருந்தால் புதுப்பிக்க அறிக்கை. இல்லையெனில், புதிய வரிசையைச் சேர்க்கவும். தரவு இல்லை என்றால் மட்டும் புதிய வரிசையை எவ்வாறு செருகுவது என்பதை இடுகையில் விவாதிக்கப்பட்டது.