mysqlccのわな?
もう2年近く前にシステム納品したお客さんから電話。
そこは販売管理システムを入れてるんだけど
「単価で少数入れれるようにしてもらってたと思うんですけど、更新した後小数部が消えてしまいます・・・。」
む?
うちにあるソースやってみると・・・。
単価10.5円
個数10個
合計105円
ふむふむ。
DBに保存して更新後
単価11.0円
個数10個
合計110円
うっ(゚Д゚;)
ソースの中身を見たがすべて単価はdouble型で定義している。
アクセサメソッドもdouble型(当然)
DBもdouble型で定義している・・・・いったい・・・。
ん?
DBの定義をよく見ると・・・・
double(11,0)
double(M,D)
M は表示幅で、D は小数部桁数。
これだと、固定少数の上に少数部桁数が0桁。doubleにした意味がない・・・orz
こんな設計した覚えないんだけどなあ・・・って思い返していくと・・・。
mysqlをビジュアル的に操作するソフトにmysqlccがあります。
(今はバージョンアップしてmysqlAdministratorになりましたが)
これで簡単にテーブルを作成できるのですが、
mysqlccで作成したdouble型はデフォルトでdouble(11,0)となるみたい。
ちなみに引数なしならば浮動少数になるようです。
(試してみたらfloatも同じでした)
mysqlccのわな?