[pgsql-jp: 30169] PostgreSQLのNOT NULL扱いの件
eva @ picolix.jp
eva @ picolix.jp
2003年 6月 13日 (金) 18:31:54 JST
こんにちは。Evaです。
PostgreSQL 7.2.3を使用しています。
CREATE TABLE "material_d" (
"seq" varchar(12) NOT NULL,
"ename" varchar(128),
"remark" varchar(256),
constraint "material_d_pkey" Primary Key ("seq")
);
psqlで、
insert into material_d (seq,eno1) values (NULL,1);
Fail to add null value in not null attribute seqでエラー(期待どおりのエラーです。)
insert into material_d (seq,eno1) values ('',1);
だと、INSERTできてしまいます。
oracleだと、''はNULL扱いなのでnot nullエラーしますが、
PostgreSQL(またはSQL-92)は、こういうものなのでしょうか?
実は、PHPからPostgreSQLのDBにinsert文を組み立てる時、
$data = "";
$sql = "insert into material_d (seq,eno1) values ('" . $data "',1)";
の時に、insert into material_d (seq,eno1) values ('',1);
となって、not nullエラーして欲しかったのですが,素直にINSERTできてしまいます。
インターネットで検索してみたのですが、初歩的なことらしく
解が得られません(泣く;;)
どなたか分かる方教えていただければ幸いです。
pgsql-jp メーリングリストの案内