[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 メーリングリストの案内