
種別:Decimal(18,2)
属性:UNSIGNED
NULL:はい
デフォルト値:NULL
のフィールドがあります。phpMyAdminを通じてデータを入力しております。Null値のチェックを入れれば良いのですが、空白のまま残したおいた場合には、デフォルト値であるNull値が格納されるものと思っておりましたが、空白ですと0.00に変換されてしまします。
また、同時に、スクリプトの方ではjqGridを使用しているのですが、こちらの方でデータ編集をする際には、Null値のチェックボタンはありませんので、空白のままで更新しなければなりません。上記と同様に、空白にしておくと、0.00に変換されてしまいます。
Null値を入れるためには、どのような方法があるのでしょうか?
よろしくお願いします。
No.3
- 回答日時:

この回答への補足
お付き合い頂き、大変感謝いたします。
言葉たらずでも申し訳ございません。添付頂いた『挿入』タブでなく、『表示』タブや『検索』をかけた際に表示されるデータ一覧で、鉛筆マークでライン編集ができるようになっていますよね。そこでの編集でNULL値を入れたいのです。
編集で、空のままであれば、SQL上は''になってしまい0が格納されますし、もちろんNULLと入れてもSQL上は'NULL'となってしまい、型と一致しないので0が格納されます。ここに何等かのエスケープ記号等(たとえば/Nとか)を入れることによりSQL上でNULLになってくれないものかと。
実際にやりたいのは、phpMyAdmin上ではなく、jqGridの上なんですが、いずれも、ユーザーが簡単に編集できるように、おもて向きはSQLを入れることなく編集を行えればと考えています。
そんなことは出来ません、というご回答でも結構ですので、どうぞよろしくお願い致します。
No.2
- 回答日時:
null => 未定義
'' => 空文字、或いは長さ0のデータとして定義されている。
ということで、空文字(0)とnullはまったく別物です。
なんかしらの数値を入れようとしてるのですから、エラー0を返すって普通だと思いますよ。
MySQLの仕様の部分もあります。
INSERT INTO `int` VALUES ("12B345");
=> 123
SQLは
UPDATE `rainfall`.`monthly` SET `JAN` = null WHERE `monthly`.`id` =1;
にしましょう。
''で囲んだものは文字列です。
ありがとうございます。
なるほど、SQLで、'null'になってしまうからアウトなんですね。 `JAN` = null でちゃんとNull値が入りました。
jqGridでもphpMyAdminでもそうなのですが、SQLを使わずに、表中のテキストボックスになんらかの形で入力することによって'null'にならずにnullとして認識される方法はないのでしょうか。\nで入力すると大丈夫、というようなサイトを見たのですが、これもやっぱりだめでした。
jqGridのスクリプトを書き換えるのが大変そうなので、nullを入れたい時には、テキストボックスにこうに入れる、みたいなことができればいいのですが。。。
No.1
- 回答日時:
nullじゃなくて空文字が入っているんじゃないでしょうか。
INSERT INTO tbl `int` values ('');
=> 0
INSERT INTO tbl `int` values (null);
=> Null
ありがとうございます。
仮に空文字としても、デフォルトをNullとしていた場合、Nullが格納されるのではないでしょうか?
また、
UPDATE `rainfall`.`monthly` SET `JAN` = 'null' WHERE `monthly`.`id` =1;の場合、nullというのが単に文字認識されてしまうので、型と一致せず、結局空白扱い=0.00となってしまいます。これも本当なら、型と一致しないということで、Null値が入りそうなものですが、そうならないのはなぜでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
エラー 1068 (42000): 複数の主...
-
mysqlがインストールされている...
-
htmlコードで書かれた表にphpで...
-
はもうダメですか?
-
BGMを教えてほしいです!
-
同じテーブルを結合して前回の...
-
mysql>status で
-
同一日に複数レコードがある場...
-
MAMP 99ドル約1.6万円 高い...
-
あってますか?SQL
-
WHERE `年月日` = '晴' OR `年...
-
SQLです教えてくださいお願いし...
-
SQLを作ったのですがうまくいき...
-
(初心者)MySQLやmaraDBで、crea...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてください。
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Null値が入れられない
-
nullと同じく空白をCountしない...
-
SQLでLIMIT句を入れるとエラー...
-
テーブル作成時に、「`id` int(...
-
NULLを含む列の足し算
-
SQL文を入力したらエラー
-
phpとSQLで複数条件で検索する...
-
mysqlのselectについて
-
varchar型を主キーに…
-
クエリを教えてください。
-
VIEWに対してWHERE句をつける
-
空白文字を含む文字列データの検索
-
sqlの中で、 例えば条件句で AN...
-
JOIN使ってないのに、JOIN操作...
-
コマンドプロンプト 複数の実...
-
auto_incrementの開始値を自分...
-
mysqlでオートナンバーにするに...
-
先ほども質問していたのですが...
-
複数テーブルの集計
-
Mysql 同一テーブルの複数「別...
おすすめ情報