டூப்ளிகேட் கீ புதுப்பிப்பில் செருகுவது MySQL இல் என்ன செய்கிறது?

Tupliket Ki Putuppippil Cerukuvatu Mysql Il Enna Ceykiratu



MySQL தரவுத்தளத்துடன் பணிபுரியும் போது, ​​ஒரு புதிய பதிவை அட்டவணையில் செருக முயற்சிக்கும்போது பயனர்கள் எப்போதாவது நகல் விசை மீறல் பிழையை சந்திக்கலாம். அதே முதன்மை விசை அல்லது தனிப்பட்ட விசையுடன் வரிசை ஏற்கனவே இருக்கும் போது இந்தப் பிழை ஏற்படுகிறது. இருப்பினும், ஏற்கனவே உள்ள பதிவுகளை புதிய மதிப்புகளுடன் புதுப்பிப்பதன் மூலம் இந்த சிக்கலை தீர்க்க முடியும். இதுபோன்ற சந்தர்ப்பங்களில், ' டூப்ளிகேட் கீ புதுப்பிப்பில் செருகவும் ” அம்சம் இந்த சிக்கலை திறம்பட தீர்க்கும்.

இந்த இடுகை 'இன்சர்ட் ஆன் டூப்ளிகேட் கீ அப்டேட்' என்றால் என்ன மற்றும் அது எப்படி MySQL இல் செயல்படுகிறது என்பதை விளக்குகிறது.







டூப்ளிகேட் கீ புதுப்பிப்பில் செருகுவது MySQL இல் என்ன செய்கிறது?

MySQL இல், தி டூப்ளிகேட் கீ புதுப்பிப்பில் செருகவும் INSERT அறிக்கையின் மேம்பட்ட அம்சமாகும், இது இரண்டு செயல்பாடுகளை ஒரு செயல்பாட்டில் இணைக்கிறது. உதாரணமாக, கொடுக்கப்பட்ட பதிவு ஏற்கனவே இல்லை என்றால் அது ஒரு குறிப்பிட்ட அட்டவணையில் ஒரு பதிவைச் செருகும். இருப்பினும், விரும்பிய பதிவு ஏற்கனவே இருந்தால், அது ஏற்கனவே உள்ள பதிவை புதிய மதிப்புடன் புதுப்பிக்கும்.



டூப்ளிகேட் கீ புதுப்பிப்பு அம்சத்தில் செருகுவதை இயக்க, பயனர்கள் கீழே கொடுக்கப்பட்டுள்ள தொடரியல் பின்பற்ற வேண்டும்:



உள்ளே நுழைத்தல் [ அட்டவணை_பெயர் ] ( [ col_1 ] , [ col_2 ] ,... )
மதிப்புகள் ( [ மதிப்பு_1 ] , [ மதிப்பு_2 ] ,... )
டூப்ளிகேட் கீ புதுப்பிப்பில் [ col_1 ] = [ மதிப்பு_1 ] , [ col_2 ] = [ மதிப்பு_2 ] , ...;





table_name, col_1, col_2, … மற்றும் val_1, val_2, ..., போன்றவற்றின் இடத்தில் அட்டவணைப் பெயர், நெடுவரிசைப் பெயர்கள் மற்றும் உங்கள் விருப்பப்படி மதிப்புகளைக் குறிப்பிடவும்.

எடுத்துக்காட்டு: MySQL இல் டூப்ளிகேட் கீ புதுப்பிப்பு அம்சத்தில் INSERT ஐ எவ்வாறு பயன்படுத்துவது?



முதலில், MySQL தரவுத்தளத்துடன் பொருத்தமான சலுகைகளுடன் இணைக்கவும், பின்னர் 'linuxhint_author' அட்டவணையின் தரவைப் பெற கீழே உள்ள கட்டளையை இயக்கவும்:

தேர்ந்தெடுக்கவும் * linuxhint_author இலிருந்து;

தேர்ந்தெடுக்கப்பட்ட கட்டளை 'linuxhint_author' அட்டவணையின் அனைத்து பதிவுகளையும் மீட்டெடுக்கிறது:

இப்போது 'linuxhint_author' அட்டவணையில் ஒரு குறிப்பிட்ட பதிவைச் செருக அல்லது புதுப்பிக்க பின்வரும் SQL கட்டளையை இயக்கவும், 'ON DUPLICATE KEY UPDATE' அம்சம் இயக்கப்பட்டது:

linuxhint_author இல் செருகவும் ( ஐடி , பெயர், வயது, ஆசிரியர் தரவரிசை, மின்னஞ்சல் )
மதிப்புகள் ( 6 , 'அலெக்ஸ் ஜான்சன்' , 29 , 3 , 'alex@example.com' )
டூப்ளிகேட் கீ புதுப்பிப்பில்
பெயர் = மதிப்புகள் ( பெயர் ) ,
வயது = மதிப்புகள் ( வயது ) ,
ஆசிரியர் தரவரிசை = VALUES ( ஆசிரியர் தரவரிசை ) ,
மின்னஞ்சல் = VALUES ( மின்னஞ்சல் ) ;

குறிப்பிட்ட பதிவு ஏற்கனவே 'linuxhint_author' அட்டவணையில் இல்லாததால், அது தேர்ந்தெடுக்கப்பட்ட அட்டவணையில் வெற்றிகரமாகச் செருகப்படும்:

ஒரு நகல் பதிவைச் செருகி, எப்படி என்பதைப் பார்ப்போம் ' டூப்ளிகேட் கீ புதுப்பிப்பில் MySQL இல் அம்ச வேலை:

linuxhint_author இல் செருகவும் ( ஐடி , பெயர், வயது, ஆசிரியர் தரவரிசை, மின்னஞ்சல் )
மதிப்புகள் ( 3 , 'மைக்கேல் ஜான்சன்' , 28 , 4 , 'michael@example.com' )
டூப்ளிகேட் கீ புதுப்பிப்பில்
பெயர் = மதிப்புகள் ( பெயர் ) ,
வயது = மதிப்புகள் ( வயது ) ,
ஆசிரியர் தரவரிசை = VALUES ( ஆசிரியர் தரவரிசை ) ,
மின்னஞ்சல் = VALUES ( மின்னஞ்சல் ) ;

கீழே உள்ள துணுக்கிலிருந்து, ஏற்கனவே இருக்கும் பதிவு புதிய மதிப்புகளுடன் வெற்றிகரமாக புதுப்பிக்கப்பட்டதை தெளிவாகக் காணலாம்:

'நகல் விசையைச் செருகவும்' அம்சம் முழுப் பதிவிற்கும் பதிலாக ஒரு குறிப்பிட்ட நெடுவரிசையிலும் பயன்படுத்தப்படலாம்:

linuxhint_author இல் செருகவும் ( ஐடி , ஆசிரியர் தரவரிசை )
மதிப்புகள் ( 3 , 2 )
டூப்ளிகேட் கீயில் புதுப்பிப்பு ஆசிரியர் தரவரிசை = மதிப்புகள் ( ஆசிரியர் தரவரிசை ) ;

மேலே உள்ள குறியீட்டில், “3” ஐடியைக் கொண்ட ஆசிரியரின் “authorRank” புதிய மதிப்பு “2”க்கு புதுப்பிக்கப்படுகிறது:

MySQL இல் “இன்சர்ட் ஆன் டூப்ளிகேட் கீ அப்டேட்” அம்சம் இப்படித்தான் செயல்படுகிறது.

முடிவுரை

MySQL இல், தி டூப்ளிகேட் கீ புதுப்பிப்பில் செருகவும் புதிய வரிசையைச் செருகுவது மற்றும் ஏற்கனவே இருக்கும் வரிசையை ஒரே செயல்பாட்டில் புதுப்பித்தல்/மாற்றுதல் ஆகியவற்றின் செயல்பாட்டை ஒருங்கிணைக்க அனுமதிக்கும் மேம்பட்ட அம்சமாகும். ஒரு குறிப்பிட்ட அட்டவணையில் புதிய வரிசையைச் செருக முயற்சிக்கும்போது 'நகல் விசை மீறல்' பிழையைத் தவிர்க்க இந்த அம்சம் பயனர்களுக்கு உதவுகிறது. இந்தப் பதிவில் “இன்சர்ட் ஆன் டூப்ளிகேட் கீ அப்டேட்” என்றால் என்ன, அது எப்படி MySQL இல் செயல்படுகிறது என்பதை விளக்கியுள்ளது.