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

返信いただきありがとうございます。他のDBがクエリをサポートする理由がわかりません。しかし今では、フィールドの型を浮動小数に変更することで問題が解決されました。

于 2012-10-03T07:32:21.733 に答える
0

私が使用しているバージョンでも動作しています(2.5と-2.5の両方)

于 2012-10-03T07:19:12.217 に答える