【问题标题】:Updating Values not working in Mysql Table更新值在 Mysql 表中不起作用
【发布时间】:2012-09-24 01:13:13
【问题描述】:

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

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

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

没有更新值,也没有显示任何错误。请帮忙。

提前致谢。

【问题讨论】:

  • 你能告诉我们表结构和一些数据来重现问题吗?
  • @Sangeetha Krishnan 您使用的是哪个版本的 mysql?

标签: mysql updates


【解决方案1】:

为了测试我已经创建了示例表并且测试工作正常。它在 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】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 2013-01-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多