更新值在Mysql表中不起作用

时间:2012-10-03 06:22:56

标签: mysql updates

我有一个名为MAXT的表列,其中包含负浮点值和正浮点值。该列类型为float。 我的问题是在更新查询中使用此列时它没有任何效果。 例如,

UPDATE TABLE1 SET MAXTCLASS='A9' WHERE MAXT = 2.5; is running successfully. But

UPDATE TABLE1 SET MAXTCLASS='A9' WHERE MAXT = -2.5; 

也未更新显示任何错误的值。请帮助。

先谢谢。

4 个答案:

答案 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',请检查表格结构。

如果是,请更改数据类型,在结构中删除此选项。