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

MySQL में ऑटो-इन्क्रीमेंट मान को 1 से शुरू करने के लिए कैसे सेट करें

TRUNCATE TABLE के साथ ऑटो-इन्क्रीमेंट रीसेट करना

टेबल को ट्रंकेट करके ऑटो-इन्क्रीमेंट मान को 1 से पुनः आरंभ करें।

आइए पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE DemoTable (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);

रिकॉर्ड्स इन्सर्ट करें:

mysql> INSERT INTO DemoTable VALUES ();
mysql> INSERT INTO DemoTable VALUES ();
mysql> INSERT INTO DemoTable VALUES ();
mysql> INSERT INTO DemoTable VALUES ();

सभी रिकॉर्ड्स देखें:

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------+
| StudentId |
+-----------+
| 1         |
| 2         |
| 3         |
| 4         |
+-----------+

अब यदि आप और मान इन्सर्ट करेंगे, तो StudentId 5 से जारी रहेगा। इसे 1 से पुनः आरंभ करने के लिए टेबल को ट्रंकेट करें:

mysql> TRUNCATE TABLE DemoTable;
mysql> SELECT * FROM DemoTable;

आउटपुट: Empty set

फिर से रिकॉर्ड्स इन्सर्ट करें:

mysql> INSERT INTO DemoTable VALUES ();
mysql> INSERT INTO DemoTable VALUES ();
mysql> INSERT INTO DemoTable VALUES ();

रिकॉर्ड्स देखें:

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------+
| StudentId |
+-----------+
| 1         |
| 2         |
| 3         |
+-----------+

व्याख्या:

  • TRUNCATE TABLE: टेबल की सभी पंक्तियों को हटाता है और ऑटो-इन्क्रीमेंट काउंटर को रीसेट करता है
  • DELETE FROM: के विपरीत, TRUNCATE ऑटो-इन्क्रीमेंट को रीसेट करता है (DELETE नहीं करता)
  • तेज़: TRUNCATE, DELETE से तेज़ है क्योंकि यह पंक्ति-दर-पंक्ति नहीं हटाता
  • ट्रिगर्स: TRUNCATE DELETE ट्रिगर्स को फायर नहीं करता

वैकल्पिक तरीके (डेटा रखते हुए):

-- ऑटो-इन्क्रीमेंट को विशिष्ट मान पर सेट करें
ALTER TABLE DemoTable AUTO_INCREMENT = 1;

-- या अधिकतम मौजूदा ID + 1 पर सेट करें
ALTER TABLE DemoTable AUTO_INCREMENT = (SELECT MAX(StudentId) + 1 FROM DemoTable);

चेतावनी: TRUNCATE TABLE डेटा स्थायी रूप से हटा देता है और रोलबैक नहीं किया जा सकता (ट्रांजैक्शन-सेफ नहीं)।

  1. - MySQL में DEFAULT NULL का उपयोग करके डिफ़ॉल्ट मान NULL कैसे सेट करें?

    MySQL में DEFAULT NULL के साथ कॉलम डिफ़ॉल्ट सेट करना MySQL में, आप DEFAULT NULL क्लॉज का उपयोग करके किसी कॉलम के लिए स्पष्ट रूप से NULL को डिफ़ॉल्ट मान के रूप में सेट कर सकते हैं। यह तब उपयोगी होता है जब कोई मान प्रदान नहीं किया जाता है तो कॉलम वैकल्पिक होना चाहिए। उदाहरण: वैकल्पिक कॉलम वाली छात्र

  1. - क्या हम MySQL SELECT IN() में एकल मान सेट कर सकते हैं?

    हाँ, हम MySQL में IN() के साथ एकल मान सेट कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> FirstName varchar(20) -> ); Query OK, 0 rows affected (0.65 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Chris)

  1. - MySQL में यूज़र-डिफ़ाइन्ड वेरिएबल से एक कॉलम का मान दूसरे कॉलम से प्राप्त करें

    MySQL में यूज़र-डिफ़ाइन्ड वेरिएबल (@var) का उपयोग करके पिछली पंक्ति के मान के आधार पर वर्तमान पंक्ति के लिए चल योग (क्यूमुलेटिव सम) या अन्य व्युत्पन्न मान की गणना कर सकते हैं। टेबल बनाएं mysql> CREATE TABLE DemoTable1868 (Value INT); डेटा डालें mysql> INSERT INTO DemoTable1868 VALUES(10), (2