
種別: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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エラー 1068 (42000): 複数の主...
-
sqlにおけるテーブル名と各カラ...
-
MySQL NULLだけをカウントして...
-
mysqlがインストールされている...
-
#1062 - '0' は索引 'PRIMARY' ...
-
select *, `人口(男)`AND`人口(...
-
[XAMPP Control Panel v3.2.4] ...
-
MAMPで80ポートが使用されている...
-
(初心者)MySQLやmaraDBで、crea...
-
SQLです教えてください。
-
SQLです!!教えてください。あ...
-
SQLです教えてくださいお願いし...
-
phpMyAdminをCentOS7にインスト...
-
下記の問合せを行うクエリを、P...
-
MySQLのテーブル作成でハイフン...
-
【SQLクエリ】日替わりで表示さ...
-
mysqlの配列データの読み方
-
HTTPメソッドについて教えて下さい
-
同一日に複数レコードがある場...
-
MAMP 99ドル約1.6万円 高い...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Null値が入れられない
-
NULLを含む列の足し算
-
nullと同じく空白をCountしない...
-
mysqlのselectについて
-
MySQLの特定のカラムの内容を全...
-
SQLでLIMIT句を入れるとエラー...
-
テーブル作成時に、「`id` int(...
-
MySQLで同じデータにフラグ付け...
-
抽出結果を元にさらに抽出する方法
-
計算結果でtrueならフラグをつ...
-
フラグの格納方法について
-
クエリを教えてください。
-
phpとSQLで複数条件で検索する...
-
質問内容の仕様のSQLがわからな...
-
【初歩】 SELECT文で意図した照...
-
MySQLでのテーブル名取得に制限...
-
varchar型を主キーに…
-
SQL文でダブルクォートか
-
SQL文を入力したらエラー
-
複雑なSQLですが、教えてくださ...
おすすめ情報