0

我有一个名为 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

4 回答 4

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)
于 2012-10-03T06:44:57.877 回答
0

它也适用于我正在使用的版本(适用于 2.5 和 -2.5)

于 2012-10-03T07:19:12.217 回答
0

感谢大家的回复。我不知道为什么其他数据库支持查询。但是现在通过将字段类型float改为十进制解决了这个问题。

于 2012-10-03T07:32:21.733 回答
0

如果您尝试更改的数据字段未标有“无符号”,请检查表结构。

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

于 2015-12-02T12:21:52.317 回答