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

MySQL में रिकॉर्ड हटाने के बाद कुंजियों को पुनः क्रमबद्ध करना

DELETE के बाद आईडी अनुक्रम ठीक करना

पंक्ति हटाने के बाद आईडी में अंतर आ जाता है। UPDATE के साथ गणितीय गणना करके आईडी को पुनः क्रमबद्ध किया जा सकता है।

तालिका और डेटा

mysql> CREATE TABLE DemoTable1476 (Id INT);
mysql> INSERT INTO DemoTable1476 VALUES(10), (20), (30), (40);

आईडी 30 हटाना

mysql> DELETE FROM DemoTable1476 WHERE Id = 30;

हटाने के बाद (अंतर आ गया)

+------+
| Id   |
+------+
| 10   |
| 20   |
| 40   |  -- 30 गायब
+------+

आईडी पुनः क्रमबद्ध करना

mysql> UPDATE DemoTable1476 
    -> SET Id = Id - 10 
    -> WHERE Id > 30;
Query OK, 1 row affected (0.14 sec)

परिणाम

+------+
| Id   |
+------+
| 10   |
| 20   |
| 30   |  -- 40 अब 30 हो गया
+------+

चेतावनी:

  • विदेशी कुंजी (Foreign Key) संदर्भ टूट सकते हैं
  • समवर्ती पहुंच वाले सिस्टम में समस्या
  • उत्पादन में आमतौर पर आईडी पुनः क्रमबद्ध नहीं की जाती
  • AUTO_INCREMENT अंतर को अनदेखा करता है
  1. Java के साथ MySQL डेटाबेस में टेबल से अंतिम रिकॉर्ड कैसे प्राप्त करें? Java के साथ MySQL डेटाबेस में टेबल से अंतिम रिकॉर्ड कैसे प्राप्त करें?

    MySQL डेटाबेस से डेटा प्राप्त करने के लिए, आपको Java से executeQuery() मेथड का उपयोग करना होगा। पहले MySQL डेटाबेस में एक टेबल बनाएं। यहां हम sample डेटाबेस में निम्नलिखित टेबल बनाएंगे: ); Query OK, 0 rows affected (0.80 sec) अब INSERT कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डाल सकते हैं। क्वेरी

  1. - MySQL टेबल से डेटा डिलीट करने के बाद ऑटो इन्क्रीमेंट को 1 से कैसे शुरू करें?

    इसके लिए आप TRUNCATE TABLE कमांड का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1796 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें

  1. - MySQL में डेटा फॉर्मेट से संख्यात्मक तारीख मान निकालें

    समाधान STR_TO_DATE से स्ट्रिंग को तारीख में बदलें, फिर UNIX_TIMESTAMP से सेकंड में बदलें। सिंटैक्स SELECT UNIX_TIMESTAMP(STR_TO_DATE(yourColumnName, %d-%b-%y)) AS aliasName FROM yourTableName; उदाहरण टेबल बनाएं: INSERT INTO demo34 VALUES (31-Jan-19), (03-Mar-21), (13-Jun-20); क्वेरी SELECT UNIX