我有一个名为MAXT的表列,其中包含负浮点值和正浮点值。该列类型为float
。
我的问题是在更新查询中使用此列时它没有任何效果。
例如,
UPDATE TABLE1 SET MAXTCLASS='A9' WHERE MAXT = 2.5; is running successfully. But
UPDATE TABLE1 SET MAXTCLASS='A9' WHERE MAXT = -2.5;
也未更新显示任何错误的值。请帮助。
先谢谢。
答案 0 :(得分:0)
对于测试我创建了样本表并且测试工作正常。它在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)
答案 1 :(得分:0)
它也适用于我使用的版本(适用于2.5和-2.5)
答案 2 :(得分:0)
感谢所有人的回复。我不知道为什么其他人DB支持查询。但现在通过将字段类型float更改为十进制来解决问题。
答案 3 :(得分:0)
如果您尝试更改的数据字段未标记为' unsigned',请检查表格结构。
如果是,请更改数据类型,在结构中删除此选项。