Tôi có một trường, justsomenum, kiểu thập phân (3,2) trong MySQL có vẻ luôn có giá trị 9,99 khi tôi chèn thứ gì đó như 78,3. Tại sao?Giá trị thập phân (3,2) trong MySQL luôn là 9,99
Đây là những gì bàn của tôi trông giống như:
mysql> describe testtable;
+---------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| firstname | varchar(20) | YES | | NULL | |
| lastname | varchar(20) | YES | | NULL | |
| justsomenum | decimal(3,2) | YES | | NULL | |
+---------------+--------------+------+-----+---------+----------------+
Khi tôi chèn một cái gì đó như thế này và chọn:
mysql> insert into testtable (firstname, lastname, justsomenum) values ("Lloyd", "Christmas", 83.5);
tôi nhận được 9,99 khi tôi chọn.
mysql> select * from testtable;
+----+-----------+-----------+---------------+
| id | firstname | lastname | justsomenum |
+----+-----------+-----------+---------------+
| 1 | Shooter | McGavin | 9.99 |
| 2 | Lloyd | Christmas | 9.99 |
| 3 | Lloyd | Christmas | 9.99 |
| 4 | Lloyd | Christmas | 9.99 |
+----+-----------+-----------+---------------+
4 rows in set (0.00 sec)
Đây là MySQL 5.0.86 trên Mac OS X 10.5.8.
Bất kỳ ý tưởng nào? Cảm ơn.
+ upvote để thực sự cung cấp lược đồ và truy vấn, không phải thứ bạn thường thấy :) –
Một tính năng hay khác của MySQL - âm thầm sửa đổi dữ liệu của bạn để chèn không thành công ... –