Để thay đổi cột trong MySQL từ int thành double, bạn cần sử dụng lệnh ALTER TABLE.
Cú pháp như sau:
ALTER TABLE yourTableName modify column yourColumnName DOUBLE NOT NULL;
Nếu bạn muốn giá trị NULL thì hãy loại bỏ NOT NULL khỏi cú pháp trên. Cú pháp như sau:
ALTER TABLE yourTableName modify column yourColumnName DOUBLE;
Để 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 IntToDoubleDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> CylinderVolume int, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.63 sec)
Kiểm tra mô tả của bảng bằng lệnh DESC. Cú pháp như sau:
DESC yourTableName;
Áp dụng truy vấn trên cho bảng của bạn để nhận mô tả của bảng:
mysql> desc IntToDoubleDemo;
Sau đây là kết quả:
+----------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(10) | YES | | NULL | | | CylinderVolume | int(11) | YES | | NULL | | +----------------+-------------+------+-----+---------+----------------+ 3 rows in set (0.18 sec)
Nhìn vào kết quả đầu ra mẫu ở trên, trường ‘CylinderVolume’ là một kiểu int. Bây giờ bạn có thể chuyển đổi từ int sang double.
Thay đổi cột trong MySQL từ int thành double. Truy vấn như sau:
mysql> alter table IntToDoubleDemo MODIFY COLUMN CylinderVolume double NOT NULL; Query OK, 0 rows affected (2.79 sec) Records: 0 Duplicates: 0 Warnings: 0
Một lần nữa kiểm tra mô tả của bảng. Truy vấn như sau:
mysql> desc IntToDoubleDemo\G
Sau đây là kết quả:
*************************** 1. row *************************** Field: Id Type: int(11) Null: NO Key: PRI Default: NULL Extra: auto_increment *************************** 2. row *************************** Field: Name Type: varchar(10) Null: YES Key: Default: NULL Extra: *************************** 3. row *************************** Field: CylinderVolume Type: double Null: NO Key: Default: NULL Extra: 3 rows in set (0.00 sec)