Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để cập nhật cột thập phân để cho phép nhiều chữ số hơn trong MySQL?

Để cập nhật cột thập phân để cho phép nhiều chữ số hơn, hãy sử dụng CỘT SỬA ĐỔI. Cú pháp như sau:

ALTER TABLE MODIFY COLUMN yourColumnName DECIMAL(yourIntValue,yourIntValue);

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau:

mysql> create table allowDecimalWithMoreDigit
   -> (  
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Salary DECIMAL(3,2),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.64 sec)

Bây giờ bạn có thể kiểm tra mô tả của bảng bằng lệnh DESC. Cú pháp như sau:

DESC yourTableName;

Bây giờ bạn có thể kiểm tra mô tả của bảng bằng lệnh trên. Truy vấn như sau:

mysql> desc allowDecimalWithMoreDigit;

Sau đây là kết quả:

+--------+--------------+------+-----+---------+----------------+
| Field  | Type         | Null | Key | Default | Extra          |
+--------+--------------+------+-----+---------+----------------+
| Id     | int(11)      | NO   | PRI | NULL    | auto_increment |
| Salary | decimal(3,2) | YES  |     | NULL    |                |
+--------+--------------+------+-----+---------+----------------+
2 rows in set (0.18 sec)

Nhìn vào đầu ra mẫu, cột Lương có DECIMAL (3,2). Bây giờ bạn có thể thay đổi DECIMAL (10,4) bằng cách sử dụng MODIFY COLUMN với lệnh ALTER. Truy vấn như sau:

mysql> alter table allowDecimalWithMoreDigit modify column Salary DECIMAL(10,4);
Query OK, 0 rows affected (2.46 sec)
Records: 0 Duplicates: 0 Warnings: 0

Bây giờ hãy kiểm tra mô tả bảng một lần nữa. Truy vấn như sau:

mysql> desc allowDecimalWithMoreDigit;

Sau đây là kết quả:

+--------+---------------+------+-----+---------+----------------+
| Field  | Type          | Null | Key | Default | Extra          |
+--------+---------------+------+-----+---------+----------------+
| Id     | int(11)       | NO   | PRI | NULL    | auto_increment |
| Salary | decimal(10,4) | YES  |     | NULL    |                |
+--------+---------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

Nhìn vào đầu ra mẫu, kiểu dữ liệu lương DECIMAL (3,2) đã được thay đổi thành DECIMAL (10,4).