mysql:2312
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Wed, 26 Jul 2000 11:54:15 +0900
Subject: [mysql 02312] Re: Enum
とみたです。 At Tue, 25 Jul 2000 19:35:36 -0300, fumitada <fumitada@xxxxxxxxxx> wrote: > あるカラムをEnum型で宣言したのですが、なぜかNullが入ります。 > create table test( > company enum('yes','no') default 'yes'); > としたのですが、 > insert into test values(''); > として、結果を見てみたらNullになってしまいます。(空白になっています) > defaultでyesになっているのに、なぜこうなるのでしょうか? > バグですか? SQL では NULL と空文字列は異なります。で、 http://www.mysql.gr.jp/jpdoc/3.23/manual.ja_Reference.html#ENUM | 値はある状況下では 空文字 ("") か NULL を取ることがあります: | | ・もし ENUM に無効な値 (列挙されている値の中に含まれない文字) を 代入し | た場合、 そのエラーになる文字の代わりに空文字が挿入されます。 | | ・もし ENUM が NULL と定義された場合, NULL はそのフィールドで 許可される | 値となり、デフォルト値が NULLになります。 もし ENUM が NOT NULL と定義 | されたならば、 デフォルト値は、 列挙リストの最初の値になります。 ということです。 -- とみたまさひろ <tommy@xxxxxxxxxx> http://www.tmtm.org 日本MySQLユーザ会 http://www.mysql.gr.jp
2282 2000-07-20 15:30 [Naofumi Kondoh <nkon] 7/22 『 PHP カンファレンス 2000 』 ( 無料) 開催のご案内 2283 2000-07-21 12:32 ┗["Akinobu Yamamoto" <] mysql が起動しません 2310 2000-07-26 07:35 ┗[fumitada <fumitada@x] Enum 2311 2000-07-26 11:47 ┣[NAKAJIMA Mutsuki <mu] -> 2312 2000-07-26 11:54 ┗[とみたまさひろ <tomm]