[PGメモ]NULLとUniqueキーの素敵な関係 | Late Riser

Late Riser

ダメ主婦ミルミルのプログラムと道の駅ドライブとリラックマの日々。
プログラム系は情報提供ではなく個人的メモなので、信憑性薄め。


MysqlでUnique設定する為にググっていたら
↓のエントリを発見した。

●MySQL では unique key が NULL を無視する
(http://d.hatena.ne.jp/kwatch/20090204/1233763466)


[MySQL では unique key を指定していても NULL があると無視されるようだ。]
とのことなので、一回試してみた。

(↑とほとんど中身一緒です。)


create table test(
pid integer primary key auto_increment,
tid text,
uid datetime,
unique key (tid, uid)
);

insert into test values(null, 'aaa', null);

mysql> select * from test1;

+----+------+------------+
| pid | tid | uid |
+----+------+------------+
| 1 | aaa | NULL |
| 2 | aaa | NULL |
| 3 | aaa | NULL |
+----+------+------------+


オラクルも同じとのことだったので
こちらも同様にやってみたら・・・・マジですよ(-д-;


ちなみにSQLの標準仕様なのだそう
null=null は偽なので、筋が通ってると言えば通ってるんですが・・・
でも、なんとなく不思議な気がします。

とりあえずUniqueキーを設定する時にはNot NULL設定にするのが良さそうです。


今度、暇な時をみてpostgresでもやってみよう。
で、せっかくなので旦那にもSQLサーバーで試してみてもらってみよう。

便利だな~、MS旦那♪(モビルスーツではない)


ペタしてね


あ、ちなみに私が調べたかったのはド初級の

create table tablename(



`field3` VARCHAR(45) UNIQUE , #識別子(ユニークで!)



);


ってトコロですwwww
久々すぎてド忘れですよwww



それよかMobaSiFがホンマにワケ分からん。
なんでMobaSiF??
つーか提示されてる案件にMobaSiFの仕様があっとらん!

せめてCatalystに変えてくれ~(TдT)