Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL डबल इंसर्ट (डुप्लिकेट एंट्री) को कैसे रोकें?

<घंटा/>

डुप्लिकेट प्रविष्टि को रोकने के लिए, UNIQUE बाधा जोड़ें। आइए पहले एक टेबल बनाएं -

mysql> टेबल बनाएं DemoTable(Id int, Name varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.79 सेकंड)

यहाँ UNIQUE का उपयोग करके MySQL डबल इंसर्ट को रोकने के लिए क्वेरी है -

mysql> तालिका बदलें डेमोटेबल ऐड बाधा id_NameUnKey UNIQUE(Id,Name);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.82 सेकंड)रिकॉर्ड्स:0 डुप्लिकेट्स:0 चेतावनियाँ:0

इंसर्ट कमांड का उपयोग करके टेबल में रिकॉर्ड डालें। जब हम फिर से उसी रिकॉर्ड के लिए प्रयास करेंगे, तब "डुप्लिकेट प्रविष्टि" त्रुटि दिखाई देगी -

mysql> डेमोटेबल मानों में डालें (11, 'जॉन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> डेमोटेबल मानों में डालें (12, 'जॉन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड) )mysql> डेमोटेबल वैल्यू (11, 'जॉन') में डालें; त्रुटि 1062 (23000):'id_NameUnKey' कुंजी के लिए डुप्लिकेट प्रविष्टि '11-जॉन'

चुनिंदा कमांड का उपयोग करके तालिका से रिकॉर्ड प्रदर्शित करें -

mysql> डेमोटेबल से *चुनें;

यह निम्नलिखित आउटपुट देगा -

<पूर्व>+----------+------+| आईडी | नाम |+----------+------+| 11 | जॉन || 12 | जॉन |+------+------+2 पंक्तियों में सेट (0.00 सेकंड)
  1. MySQL में ऑटो-इंक्रीमेंटिंग कॉलम को कैसे रीसेट करें?

    ऑटो-इन्क्रीमेंटिंग कॉलम को रीसेट करने के लिए, TRUNCATE TABLE कमांड का उपयोग करें। उसके बाद, डालने पर, यह कॉलम को रीसेट कर देगा। आइए पहले एक टेबल बनाएं - mysql> create table DemoTable1888    (    Id int NOT NULL AUTO_INCREMENT,    PRIMARY KEY(Id)    ); Quer

  1. जांचें कि क्या MySQL प्रविष्टि मौजूद है और यदि ऐसा है, तो अन्य स्तंभों को कैसे अधिलेखित करें?

    इसके लिए INSERT ON DUPLICATE KEY UPDATE कमांड का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1891 ( FirstName varchar(20), UNIQUE KEY(FirstName) );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डुप्लीकेट कुंजी अपडेट पर DemoTab

  1. सम्मिलित करने से पहले MySQL ट्रिगर कैसे सेट करें?

    इसके लिए सिंटैक्स इस प्रकार है - delimiter // create trigger yourTriggerName before insert on yourTableName    FOR EACH ROW    BEGIN    yourStatement1    .    .    N END // delimiter ; ऊपर दिए गए सिंटैक्स को समझने के लिए, आइए एक टेबल बनाए