MODIFY COLUMN के साथ डेसिमल प्रिसिजन बदलना
मौजूदा डेसिमल कॉलम की प्रिसिजन (कुल अंक) और स्केल (दशमलव स्थान) बदलने के लिए:
ALTER TABLE yourTableName MODIFY COLUMN yourColumnName DECIMAL(precision, scale);
उदाहरण: टेबल बनाना
mysql> CREATE TABLE allowDecimalWithMoreDigit (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Salary DECIMAL(3,2),
-> PRIMARY KEY(Id)
-> );
बदलने से पहले
mysql> DESC allowDecimalWithMoreDigit;
+--------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+--------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Salary | decimal(3,2) | YES | | NULL | | +--------+--------------+------+-----+---------+----------------+
DECIMAL(3,2) का अर्थ: कुल 3 अंक, 2 दशमलव स्थान (अधिकतम 9.99)।
DECIMAL(10,4) में बदलना
mysql> ALTER TABLE allowDecimalWithMoreDigit
-> MODIFY COLUMN Salary DECIMAL(10,4);
Query OK, 0 rows affected
बदलने के बाद
mysql> DESC allowDecimalWithMoreDigit;
+--------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+---------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Salary | decimal(10,4) | YES | | NULL | | +--------+---------------+------+-----+---------+----------------+
अब DECIMAL(10,4) अधिकतम 999999.9999 तक स्टोर कर सकता है।
सावधानी: डेटा हानि से बचने के लिए केवल प्रिसिजन बढ़ाएं, घटाएं नहीं। मौजूदा डेटा नई प्रिसिजन में फिट होना चाहिए।