ஸ்க்லைட் இன்சர்ட், புதுப்பிப்பு, உதாரணத்துடன் வினவலை நீக்கவும்

SQLite இல் தரவு மாற்றும் உட்பிரிவுகள் செருகல், புதுப்பித்தல் மற்றும் நீக்குதல் அறிக்கைகள். புதிய வரிசைகளைச் செருகவும், இருக்கும் மதிப்புகளைப் புதுப்பிக்கவும் அல்லது தரவுத்தளத்திலிருந்து வரிசைகளை நீக்கவும் இது பயன்படுகிறது.

இந்த டுடோரியலில், நீங்கள் கற்றுக்கொள்வீர்கள்-

பின்வரும் அனைத்து எடுத்துக்காட்டுகளுக்கும், நீங்கள் sqlite3.exe ஐ இயக்க வேண்டும் மற்றும் மாதிரி தரவுத்தளத்துடன் ஒரு இணைப்பை பாய்கிறது என திறக்க வேண்டும்:

படி 1) இந்த படியில்,

  1. எனது கணினியைத் திறந்து பின்வரும் கோப்பகத்திற்குச் செல்லவும் சி: ஸ்க்லைட் 'மற்றும்
  2. பிறகு திற ' sqlite3.exe ':

படி 2) தரவுத்தளத்தைத் திறக்கவும் பயிற்சிகள் மாதிரி DB.db பின்வரும் கட்டளையால்: | _+_ |

இப்போது நீங்கள் தரவுத்தளத்தில் எந்த வகையான வினவலையும் இயக்கத் தயாராக உள்ளீர்கள்.

SQLite INSERT

SQLite INSERT தரவுத்தளத்தின் குறிப்பிட்ட அட்டவணையில் பதிவுகளைச் செருக பயன்படுகிறது. நீங்கள் 'இன்சர்ட்' பிரிவைப் பயன்படுத்த வேண்டும். இன்செர்ட் பிரிவு தொடரியல் பின்வருமாறு:

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

SQLite செருகு உதாரணம்

பின்வரும் எடுத்துக்காட்டில், மாணவர் அட்டவணையில் 2 வரிசைகளைச் செருகுவோம், ஒவ்வொரு மாணவருக்கும் ஒன்று: | _+_ |

இது வெற்றிகரமாக இயங்க வேண்டும் மற்றும் இதற்கு வெளியீடு இல்லை:

இது இரண்டு மாணவர்களைச் சேர்க்கும்:

  • StudentId = 11, StudentName = Ahmad, DepartmentId = 4, மற்றும் DateOfBirth = 1997-10-12 உடன் முதல் மாணவர்.
  • StudentId = 12, StudentName = Aly, DepartmentId = 4, மற்றும் DateOfBirth = 1996-10-12 'உடன் இரண்டாவது மாணவர்.

முதல் அறிக்கையில், நெடுவரிசைகளின் பெயர்களை பட்டியலிட்டோம். StudentId, StudentName, DepartmentId, DateOfBirth '.இருப்பினும், இரண்டாவது அறிக்கையில், நாங்கள் செய்யவில்லை.

நான்கு மதிப்புகள் ' 12, 'அலி', 4, '1996-10-12' பத்திகள் வரையறுக்கப்பட்ட அதே வரிசையில் மாணவர்கள் அட்டவணையின் நான்கு பத்திகளிலும் செருகப்படும்.

இப்போது, ​​பின்வரும் வினவலை இயக்குவதன் மூலம் இரண்டு மாணவர்களும் மாணவர்களின் அட்டவணையில் செருகப்பட்டனர் என்பதை சரிபார்க்கலாம்: | _+_ |

அந்த வினவிலிருந்து இரண்டு மாணவர்கள் பின்வருமாறு திரும்பியதை நீங்கள் பார்க்க வேண்டும்:

SQLite புதுப்பிப்பு

SQLite UPDATE வினவல் அட்டவணையில் இருக்கும் பதிவுகளை மாற்றியமைக்கப் பயன்படுகிறது. தேர்ந்தெடுக்கப்பட்ட வரிசைகளைப் புதுப்பிக்க UPDATE வினவலுடன் நீங்கள் எங்கே உட்பிரிவைப் பயன்படுத்தலாம். UPDATE பிரிவு ஒரு குறிப்பிட்ட நெடுவரிசையின் மதிப்பை மாற்றுவதன் மூலம் அட்டவணையைப் புதுப்பிக்கிறது. UPDATE பிரிவின் தொடரியல் பின்வருமாறு:

பின்வருமாறு:

  • 'புதுப்பிப்பு விதி' க்குப் பிறகு, புதுப்பிக்க அட்டவணையின் பெயரை நீங்கள் எழுத வேண்டும்.
  • நீங்கள் 'SET உட்பிரிவை' எழுத வேண்டும், இது புதுப்பிக்க நெடுவரிசை பெயர் மற்றும் புதுப்பிக்கப்பட வேண்டிய மதிப்பை எழுத பயன்படுகிறது.
  • நீங்கள் ஒன்றுக்கு மேற்பட்ட நெடுவரிசைகளைப் புதுப்பிக்கலாம். ஒவ்வொரு வரிக்கும் இடையில் நீங்கள் கமாவைப் பயன்படுத்தலாம்.
  • சில வரிசைகளை மட்டும் குறிப்பிட நீங்கள் எங்கு உட்பிரிவை குறிப்பிடலாம். வெளிப்பாடு உண்மை என மதிப்பிடும் வரிசைகள் மட்டுமே புதுப்பிக்கப்படுகின்றன. நீங்கள் எங்கே உட்பிரிவை குறிப்பிடவில்லை என்றால், அனைத்து வரிசைகளும் புதுப்பிக்கப்படும்.

SQLite புதுப்பிப்பு உதாரணம்

பின்வரும் UPDATE அறிக்கையில், StudentId = 6 உடன் மாணவர்களுக்கான DepartmentId ஐ 3 ஆக இருக்கும்: | _+_ |

இது வெற்றிகரமாக இயங்க வேண்டும் மற்றும் நீங்கள் எந்த வெளியீடும் பெறக்கூடாது:

UPDATE உட்பிரிவில், நாங்கள் மாணவர்களின் அட்டவணையைப் புதுப்பிக்க வேண்டும் என்று குறிப்பிட்டோம்.

  • WHERE உட்பிரிவில், StudentId = 6 க்கான வரிசையை மட்டும் தேர்ந்தெடுக்க அனைத்து மாணவர்களையும் வடிகட்டினோம்.
  • SET பிரிவு தேர்ந்தெடுக்கப்பட்ட மாணவர்களுக்கான துறை ஐடியின் மதிப்பை 3 ஆக மேம்படுத்தும்.

இப்போது, ​​பின்வரும் கட்டளையை இயக்குவதன் மூலம், ஐடி 6 கொண்ட மாணவர் புதுப்பிக்கப்பட்டிருப்பதை சரிபார்க்கலாம்: | _+_ _

நீங்கள் இப்போது டிபார்ட்மென்ட் ஐடி மதிப்பு 3 என பின்வருமாறு பார்க்க வேண்டும்:

SQLite நீக்கு

குறிப்பிட்ட அட்டவணையில் இருக்கும் பதிவுகளை நீக்க SQLite DELETE வினவல் பயன்படுத்தப்படுகிறது. தேர்ந்தெடுக்கப்பட்ட வரிசைகளை நீக்க, நீக்குதல் வினவல்களுடன் எங்கே உட்பிரிவைப் பயன்படுத்தலாம்.

நீக்குதல் பிரிவு பின்வரும் தொடரியலைக் கொண்டுள்ளது:

  • நீங்கள் பதிவுகளை நீக்க விரும்பும் பிரிவின் பின்னர் ஒரு அட்டவணை பெயரை எழுத வேண்டும். ( குறிப்பு: என்று பிரிவை நீக்கு ஒரு அட்டவணையில் இருந்து சில பதிவுகளை நீக்க அல்லது அனைத்து பதிவுகளையும் நீக்க பயன்படுகிறது மேலும் அது அட்டவணையை நீக்காது. எனினும், தி DROP பிரிவு முழு அட்டவணையில் உள்ள அனைத்து பதிவுகளையும் நீக்க பயன்படுகிறது.)
  • நீங்கள் 'குருவை நீக்கு' என்பது போல் நீக்குதல் பிரிவை எழுதினால், இது 'குரு' அட்டவணையில் உள்ள அனைத்து பதிவுகளையும் நீக்கும்.
  • சில குறிப்பிட்ட வரிசைகளை நீக்க விரும்பினால், எக்ஸ்பிரஷனுடன் WHERE நிலையை குறிப்பிடலாம். வெளிப்பாடு உண்மை என மதிப்பிடும் வரிசைகள் மட்டுமே நீக்கப்படும். உதாரணமாக, 'ஐடியிலிருந்து எங்கே நீக்கலாம்> 5' - இது 5 ஐ விட பெரிய ஐடி உள்ள பதிவுகளை மட்டுமே நீக்கும்.

உதாரணமாக

பின்வரும் அறிக்கையில், StudentId 11 மற்றும் 12 உடன் இரண்டு மாணவர்களை நீக்குவோம்: | _+_ |

பாவனை ' StudentId = 11 அல்லது StudentId = 12 'ஐடி 11 மற்றும் 12 உள்ள மாணவர்களுக்கு மட்டும் உண்மையாக இருக்கும், எனவே இரண்டிலும் நீக்குதல் பிரிவு பயன்படுத்தப்படும் மற்றும் அவற்றை மட்டும் நீக்கும்.

இந்த கட்டளை வெற்றிகரமாக இயங்க வேண்டும், பின்வருமாறு நீங்கள் எந்த வெளியீடும் பெறக்கூடாது:

மாணவர் அட்டவணையில் இருந்து அனைத்து பதிவுகளையும் பின்வருமாறு தேர்ந்தெடுப்பதன் மூலம் இரண்டு மாணவர்கள் நீக்கப்பட்டதை நீங்கள் சரிபார்க்கலாம்: | _+_ |

11 மற்றும் 12 ஐடிகளைக் கொண்ட இரண்டு மாணவர்களை நீங்கள் பின்வருமாறு பார்க்கக்கூடாது:

SQLite மோதல் பிரிவு

பின்வரும் நெடுவரிசை கட்டுப்பாடுகளில் ஒன்றைக் கொண்ட ஒரு நெடுவரிசை உங்களிடம் உள்ளது என்று வைத்துக்கொள்வோம்: தனித்துவமானது, பூஜ்யம் அல்ல, சரிபார்க்கவும் அல்லது முதன்மை விசை. பின்னர் இந்த தடையில் முரண்படும் மதிப்புடன் அந்த நெடுவரிசையில் ஒரு மதிப்பை செருக அல்லது புதுப்பிக்க முயற்சித்தீர்கள்.

உதாரணமாக, ஒரு நெடுவரிசைக்கு தனித்துவமான தடை இருந்தால், நீங்கள் ஏற்கனவே இருக்கும் மதிப்பை (ஒரு நகல் மதிப்பு) செருக முயற்சித்தால், அது UNIQUE கட்டுப்பாட்டுடன் முரண்படுகிறது. இந்த மோதலைத் தீர்க்க இதுபோன்ற சந்தர்ப்பங்களில் என்ன செய்ய வேண்டும் என்பதைத் தேர்வுசெய்யும் பிரிவு உங்களை அனுமதிக்கிறது.

CONFLICT பிரிவு எவ்வாறு மோதலைத் தீர்க்கிறது என்பதை நாங்கள் தொடர்ந்து விளக்கும் முன். தரவுத்தள பரிவர்த்தனை என்றால் என்ன என்பதை நீங்கள் புரிந்து கொள்ள வேண்டும்.

தரவுத்தள பரிவர்த்தனை:

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

தரவுத்தள பரிவர்த்தனைக்கான எடுத்துக்காட்டு:

ஒரு வங்கிக் கணக்கிலிருந்து இன்னொரு வங்கிக் கணக்கிற்குப் பணப் பரிமாற்றத்திற்கான பரிவர்த்தனை சில செயல்பாடுகளை உள்ளடக்கும். இந்த பரிவர்த்தனை நடவடிக்கையில் முதல் கணக்கிலிருந்து பணம் எடுப்பது மற்றும் மற்றொரு கணக்கில் டெபாசிட் செய்வது ஆகியவை அடங்கும். இந்த பரிவர்த்தனை முழுமையாக முடிக்கப்பட வேண்டும் அல்லது முழுமையாக ரத்து செய்யப்பட வேண்டும் மற்றும் பாதியில் தோல்வியடையக்கூடாது.

கான்ஃபிளிக்ட் பிரிவில் நீங்கள் தேர்வுசெய்யக்கூடிய ஐந்து தீர்மானங்களின் பட்டியல் இங்கே:

  1. ரோல்பேக் - இது தற்போதைய SQLite அறிக்கை முரண்பாட்டைக் கொண்ட பரிவர்த்தனையை திரும்பப் பெறும் (இது முழு பரிவர்த்தனையையும் ரத்து செய்யும்). உதாரணமாக, நீங்கள் 10 வரிசைகளைப் புதுப்பிக்க முயற்சித்தால், ஐந்தாவது வரிசையில் ஒரு கட்டுப்பாட்டுடன் முரண்படும் மதிப்பு இருந்தால், எந்த வரிசைகளும் புதுப்பிக்கப்படாது, 10 வரிசைகள் அப்படியே இருக்கும். ஒரு பிழை எறியப்படும்.
  2. ABORTION இது தற்போதைய SQLite அறிக்கையை முரண்பாடு மற்றும் பரிவர்த்தனை ரத்து செய்யாததை மட்டுமே ரத்து செய்யும். உதாரணமாக, நீங்கள் 10 வரிசைகளைப் புதுப்பிக்க முயற்சித்தால், ஐந்தாவது வரிசையில் ஒரு கட்டுப்பாட்டுடன் முரண்படும் மதிப்பு இருந்தால், ஐந்தாவது மதிப்பு மட்டுமே புதுப்பிக்கப்படாது ஆனால் மற்ற 9 வரிசைகள் புதுப்பிக்கப்படும். ஒரு பிழை எறியப்படும்.
  3. தோல்வி - மோதல் உள்ள தற்போதைய SQLite அறிக்கையை நிறுத்துகிறது. இருப்பினும், பரிவர்த்தனை தொடராது ஆனால் முரண்பாடு உள்ள வரிசைக்கு முன் வரிசைகளில் செய்யப்பட்ட முந்தைய மாற்றங்கள் செய்யப்பட வேண்டும். உதாரணமாக, நீங்கள் 10 வரிசைகளைப் புதுப்பிக்க முயற்சிக்கிறீர்கள் என்றால், ஐந்தாவது வரிசையில் ஒரு கட்டுப்பாட்டுடன் முரண்படும் மதிப்பு இருந்தால், 4 வரிசைகள் மட்டுமே புதுப்பிக்கப்படும், மற்றொன்று இல்லை. ஒரு பிழை எறியப்படும்.
  1. இக்னோர் - இது கட்டுப்பாட்டு மீறலைக் கொண்ட வரிசையைத் தவிர்த்து, SQLite அறிக்கையின் பின்வரும் வரிசைகளைத் தொடர்ந்து செயலாக்கும். உதாரணமாக, நீங்கள் 10 வரிசைகளைப் புதுப்பிக்க முயற்சிக்கிறீர்கள் என்றால், ஐந்தாவது வரிசையில் ஒரு கட்டுப்பாட்டுடன் முரண்படும் மதிப்பு இருந்தால், 4 வரிசைகள் மட்டுமே புதுப்பிக்கப்படும், மற்றொன்று இல்லை. மற்ற வரிசைகளைப் புதுப்பிக்க மேலும் முரண்பாட்டு மதிப்புள்ள வரிசையில் நிறுத்த இது மேலும் தொடராது. எந்த தவறும் வீசப்படாது.
  1. மாற்று - இது மீறலைக் கொண்டிருக்கும் தடையின் வகையைப் பொறுத்தது:
  • UNIQUE அல்லது முதன்மை KEY கட்டுப்பாட்டிற்கு ஒரு கட்டுப்பாடு மீறல் இருக்கும்போது. மீறலை ஏற்படுத்தும் வரிசையை புதிய செருகப்பட்ட அல்லது புதுப்பிக்கப்பட்ட வரிசையுடன் மாற்றீடு செய்யும்.
  • பூஜ்ய கட்டுப்பாட்டு மீறல் இல்லாதபோது, ​​மாற்று பத்தி அந்த மதிப்பின் இயல்புநிலை மதிப்பை மாற்றும். நெடுவரிசையில் இயல்புநிலை மதிப்பு இல்லை என்றால், SQLite அறிக்கையை நிறுத்துகிறது (அறிக்கை ரத்து செய்யப்படும்)
  • CHECK கட்டுப்பாடு மீறல் ஏற்பட்டால், உட்பிரிவு நிறுத்தப்படும்.

குறிப்பு: மேலே உள்ள 5 தீர்மானங்கள் நீங்கள் மோதலை எவ்வாறு தீர்க்க விரும்புகிறீர்கள் என்பதற்கான விருப்பங்கள். ஒரு மோதலைத் தீர்ப்பதற்கு பொருந்தக்கூடியது மற்ற வகை மோதல்களைத் தீர்க்கப் பொருந்தும் என்பது அவசியமாக இருக்காது.

இணைப்பு பிரிவை எப்படி அறிவிப்பது

CREATE TABLE உட்பிரிவுக்குள் ஒரு நெடுவரிசை வரையறைக்கு நீங்கள் ஒரு தடையை வரையறுக்கும்போது ON ConflICT உட்பிரிவை அறிவிக்கலாம். பின்வரும் தொடரியலைப் பயன்படுத்துதல்:

முன்பு விளக்கியபடி மோதலைத் தீர்க்க ஐந்து தீர்மானங்களில் ஒன்றை நீங்கள் தேர்வு செய்யலாம்.

இணைப்பு இக்னோர் உதாரணம்

படி 1) பின்வருமாறு ஒரு புதிய அட்டவணை பொருளை உருவாக்கவும்: | _+_ |

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

கட்டளை வெற்றிகரமாக இயங்க வேண்டும் மற்றும் நீங்கள் எந்த பிழையும் பெறக்கூடாது:

படி 2) இப்போது, ​​புதிய அட்டவணை பாடங்களில் சில மதிப்புகளைச் செருகுவோம், ஆனால் முதன்மை முக்கிய தடையை மீறும் மதிப்புடன்: | _+_ |

இந்த INSERT அறிக்கையில், ஒரே முதன்மை விசை ஐடி 2 உடன் இரண்டு படிப்புகளை செருக முயற்சித்தோம், இது முதன்மை முக்கிய தடையை மீறுவதாகும்.

கட்டளைகள் நன்றாக இயங்க வேண்டும் மற்றும் நீங்கள் எந்த பிழையும் பெறக்கூடாது. பின்வருமாறு:

படி 3) அட்டவணையில் இருந்து அனைத்து பாடங்களையும் பின்வருமாறு தேர்ந்தெடுக்கவும்: | _+_ |

இது பாடங்களின் பட்டியலைக் கொடுக்கும்:

மூன்று பாடங்கள் மட்டுமே செருகப்பட்டன என்பதை கவனிக்கவும் ' இயற்கணிதம், தரவுத்தள பாடநெறி மற்றும் வழிமுறைகள் '4 வரிசைகளுக்குப் பதிலாக.

முதன்மை விசை தடையை மீறும் மதிப்பு கொண்ட வரிசை, 'தரவு கட்டமைப்புகள்' புறக்கணிக்கப்பட்டது மற்றும் செருகப்படவில்லை. இருப்பினும், அந்த வரிசைக்குப் பிறகும் SQLite மற்ற அறிக்கைகளை தொடர்ந்து செயல்படுத்துகிறது.

படி 4) பின்வரும் கட்டளையை இயக்குவதன் மூலம் பின்வரும் எடுத்துக்காட்டுக்கான வேறுபட்ட ON -CONFLICT உட்பிரிவுடன் மீண்டும் உருவாக்க அட்டவணை பாடங்களை நீக்கவும்: | _+_ |

டிராப் கட்டளை முழு அட்டவணையையும் நீக்குகிறது. அட்டவணை பாடங்கள் இப்போது இல்லை.

மாற்று மாற்று உதாரணம்

படி 1) பின்வருமாறு ஒரு புதிய அட்டவணை பொருளை உருவாக்கவும்: | _+_ |

SubjectId நெடுவரிசையில் ஒரு முதன்மை விசை தடையை நாங்கள் வரையறுத்துள்ளோம் என்பதை கவனிக்கவும். முதன்மை விசை கட்டுப்பாடு இரண்டு நகல் மதிப்புகளை SubjectId நெடுவரிசையில் செருக அனுமதிக்காது, அதனால் அந்த நெடுவரிசையில் உள்ள அனைத்து மதிப்புகளும் தனிப்பட்டதாக இருக்க வேண்டும்.

மேலும், நாங்கள் ஒரு மோதல் தீர்க்கும் விருப்பத்தை தேர்வு செய்கிறோம் ' மாற்று ' கட்டளை வெற்றிகரமாக இயங்க வேண்டும் மற்றும் நீங்கள் எந்த பிழையும் பெறக்கூடாது:

படி 2) இப்போது, ​​புதிய அட்டவணை பாடங்களில் சில மதிப்புகளைச் செருகுவோம், ஆனால் முதன்மை முக்கிய தடையை மீறும் மதிப்புடன்: | _+_ |

இந்த INSERT அறிக்கையில், ஒரே முதன்மை விசை ஐடி 2 உடன் இரண்டு படிப்புகளை செருக முயற்சித்தோம், இது முதன்மை முக்கிய தடையை மீறுவதாகும்.

கட்டளைகள் நன்றாக இயங்க வேண்டும் மற்றும் நீங்கள் எந்த பிழையும் பெறக்கூடாது. பின்வருமாறு:

படி 3) அட்டவணையில் இருந்து அனைத்து பாடங்களையும் பின்வருமாறு தேர்ந்தெடுக்கவும்: | _+_ |

இது பாடங்களின் பட்டியலைக் கொடுக்கும்:

மூன்று பாடங்கள் மட்டுமே செருகப்பட்டன என்பதை கவனிக்கவும் ' இயற்கணிதம், தரவு கட்டமைப்புகள் மற்றும் வழிமுறைகள் அதேசமயம் நாங்கள் 4 வரிசைகளைச் செருக முயற்சித்தோம்.

முதன்மை விசை தடையை மீறும் மதிப்பு கொண்ட வரிசை, ' தரவு கட்டமைப்புகள் 'மதிப்பை மாற்றியது' தரவுத்தள பாடநெறி ' பின்வருமாறு:

  • முதல் இரண்டு நுழைவு அறிக்கைகள் எந்த பிரச்சனையும் இல்லாமல் நன்றாக இயங்குகின்றன. இயற்கணிதம் மற்றும் தரவுத்தள பாடநெறி ஆகிய இரண்டு பாடங்கள் ஐடி 1, 2 உடன் சேர்க்கப்படும்.
  • SQLite மூன்றாவது நுழைவு அறிக்கையை SubjectId 2 மற்றும் SubjectName 'உடன் இயக்க முயற்சிக்கும் போது தரவு கட்டமைப்புகள் ', SubjectId = 2. உடன் ஏற்கனவே ஒரு பொருள் இருப்பதை அது கண்டறிந்துள்ளது.
  • இந்த மோதலுக்கு SQLite ஒரு மாற்றுத் தீர்மானத்தைத் தேர்ந்தெடுக்கும். இது பாடங்களின் அட்டவணையில் ஏற்கனவே இருக்கும் மதிப்பை செருகும் அறிக்கையிலிருந்து புதிய மதிப்பை மாற்றுகிறது. அதனால் ' தரவுத்தள பாடநெறி 'பொருள் பெயர் மாற்றப்படும்' தரவு கட்டமைப்புகள் 'பொருள் பெயர்.

சுருக்கம்:

SQLite தரவுத்தளத்தில் தரவை மாற்றியமைத்தல், புதுப்பித்தல் மற்றும் நீக்குதல் உட்பிரிவுகள் பயன்படுத்தப்படுகின்றன. CONFLICT பிரிவு என்பது தரவிற்கும் தரவிற்கும் இடையில் ஏதேனும் முரண்பாட்டைத் தீர்க்க ஒரு சக்திவாய்ந்த உட்பிரிவாகும்.