有表如下,Date 为 DATE 类型,GID、客户ID、销售量 皆为 INT 类型,而进价和售价为 FLOAT 类型:
+------------+-----+------+--------+------+--------+
| Date       | GID | 进价 | 客户ID | 售价 | 销售量 |
+------------+-----+------+--------+------+--------+
| 2008-05-04 |   8 |   12 |      3 |   18 |      1 |
| 2008-05-04 |   9 |  0.4 |      3 |    8 |     14 |
+------------+-----+------+--------+------+--------+mysql> UPDATE 销售表 SET 销售量=销售量+4 WHERE Date='2008-5-4' AND GID=8 AND 进价=12 AND 客户ID=3;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
上句可成功执行,但下句却无法完成预期目的:
mysql> UPDATE 销售表 SET 销售量=销售量+4 WHERE Date='2008-5-4' AND GID=9 AND 进价=0.4 AND 客户ID=3;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0  Changed: 0  Warnings: 0
经我反复测验,发现是 进价=0.4 这个浮点数的问题,如果改成 2.5,就没问题了,但若为 0.4 或 0.3 等,就一直是这个问题,请问该如何解决。