AUTO_INCREMENT को 1 पर रीसेट करें
MySQL में प्राइमरी की (आमतौर पर AUTO_INCREMENT कॉलम) को **1 से पुनः शुरू** करने के लिए ALTER TABLE के साथ AUTO_INCREMENT = 1 सेट करें।
सिंटैक्स
ALTER TABLE yourTableName AUTO_INCREMENT = 1;
व्यावहारिक उदाहरण
1. AUTO_INCREMENT टेबल बनाएं
mysql> CREATE TABLE ResetPrimaryKey (
-> Id INT AUTO_INCREMENT,
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (0.59 sec)
2. कुछ रिकॉर्ड डालें
mysql> INSERT INTO ResetPrimaryKey VALUES();
mysql> INSERT INTO ResetPrimaryKey VALUES();
mysql> INSERT INTO ResetPrimaryKey VALUES();
mysql> INSERT INTO ResetPrimaryKey VALUES();
3. वर्तमान स्थिति (1-4)
mysql> SELECT * FROM ResetPrimaryKey;
+----+
| Id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
+----+
4 rows in set (0.00 sec)
4. AUTO_INCREMENT रीसेट करें
mysql> ALTER TABLE ResetPrimaryKey AUTO_INCREMENT = 1;
Query OK, 0 rows affected (0.21 sec)
Records: 0 Duplicates: 0 Warnings: 0
5. पुष्टि करें
mysql> DESC ResetPrimaryKey;
+-------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
+-------+---------+------+-----+---------+----------------+
1 row in set (0.11 sec)
⚠️ महत्वपूर्ण व्यवहार
- खाली टेबल पर: अगला इंसर्ट 1 से शुरू होगा
- डेटा वाली टेबल पर:
AUTO_INCREMENT = 1सेट करने से **अगला मान MAX(id)+1** ही होगा (1 नहीं) - MySQL कभी भी मौजूदा डेटा से कम AUTO_INCREMENT अनुमति नहीं देता
वास्तव में रीसेट करने के विकल्प
विकल्प 1: TRUNCATE (सभी डेटा हटाता है)
TRUNCATE TABLE ResetPrimaryKey;
टेबल खाली करता है और AUTO_INCREMENT को 1 रीसेट करता है।
विकल्प 2: डेटा रखते हुए रीसेट (जटिल)
-- 1. नई टेबल बनाएं
CREATE TABLE NewTable LIKE ResetPrimaryKey;
-- 2. डेटा कॉपी करें (ID के बिना)
INSERT INTO NewTable SELECT * FROM ResetPrimaryKey;
-- 3. पुरानी टेबल ड्रॉप करें, नई का नाम बदलें
DROP TABLE ResetPrimaryKey;
RENAME TABLE NewTable TO ResetPrimaryKey;
विकल्प 3: ALTER TABLE ... AUTO_INCREMENT (खाली टेबल पर)
यदि टेबल खाली है या TRUNCATE के बाद:
ALTER TABLE ResetPrimaryKey AUTO_INCREMENT = 1;
वर्तमान AUTO_INCREMENT मान देखें
SELECT AUTO_INCREMENT
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'yourDB' AND TABLE_NAME = 'ResetPrimaryKey';