我有一个名为 MAXT 的表列,其中包含负浮点值和正浮点值。该列类型是float
. 我的问题是当我在更新查询中使用此列时它没有效果。例如,
UPDATE TABLE1 SET MAXTCLASS='A9' WHERE MAXT = 2.5; is running successfully. But
UPDATE TABLE1 SET MAXTCLASS='A9' WHERE MAXT = -2.5;
也没有更新值,也没有显示任何错误。请帮忙。
提前致谢。
对于测试我已经创建了示例表并测试工作正常。它在 Mysql Server 版本中得到更新:5.1.60
desc X11;
| Field | Type | Null | Key | Default | Extra |
| d1 | float | YES | | NULL | |
| id | int(11) | YES | | NULL | |
2 rows in set (0.00 sec)
update X11 set id = 4 where d1 =-2.5;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from X11;
+------+------+
| d1 | id |
+------+------+
| 2.5 | 1 |
| -2.5 | 4 |
+------+------+
2 rows in set (0.00 sec)
它也适用于我正在使用的版本(适用于 2.5 和 -2.5)
感谢大家的回复。我不知道为什么其他数据库支持查询。但是现在通过将字段类型float改为十进制解决了这个问题。
如果您尝试更改的数据字段未标有“无符号”,请检查表结构。
如果是这样,请更改数据类型,在结构中删除此选项。