Re: NOT NULL wird ignoriert

From: Janko Richter <jankorichter(at)yahoo(dot)de>
To: Daniel Seichter <dseichter(at)radiomatic(dot)com>
Cc: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: NOT NULL wird ignoriert
Date: 2005-06-16 09:05:43
Message-ID: 42B140E7.8010205@yahoo.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Hallo Daniel,

eine leere Zeichenkette '' ist nicht NULL.
Um leere Zeichenketten zu vermeiden nutze einfach
Constraints wie z.Bsp.
..
destination char(3) NOT NULL CHECK( length(destination) > 0 ),
..

Gruß: Janko

Daniel Seichter wrote:
> Hallo,
>
> ich verwende postgreSQL 7.4.8 und habe folgende Tabelle erstellt:
>
> CREATE TABLE pcmask
> (
> customer char(3) NOT NULL,
> system char(3) NOT NULL,
> transmitter char(3) NOT NULL,
> equipment char(3) NOT NULL,
> layout char(3) NOT NULL,
> performance char(3) NOT NULL,
> radio char(3) NOT NULL,
> output char(3) NOT NULL,
> voltage char(3) NOT NULL,
> charger char(3) NOT NULL,
> destination char(3) NOT NULL,
> xtra char(3) NOT NULL,
> cus_text char(40) NOT NULL,
> sys_text char(40) NOT NULL,
> tv_text char(40) NOT NULL,
> e_text char(40) NOT NULL,
> l_text char(40) NOT NULL,
> pp_text char(40) NOT NULL,
> r_text char(40) NOT NULL,
> o_text char(40) NOT NULL,
> v_text char(40) NOT NULL,
> c_text char(40) NOT NULL,
> dd_text char(40) NOT NULL,
> x_text char(40) NOT NULL,
> cus_text_en char(40),
> sys_text_en char(40),
> tv_text_en char(40),
> e_text_en char(40),
> l_text_en char(40),
> pp_text_en char(40),
> r_text_en char(40),
> o_text_en char(40),
> v_text_en char(40),
> c_text_en char(40),
> dd_text_en char(40),
> x_text_en char(40),
> pcid int4 NOT NULL
> )
>
> Mit Index
> CREATE UNIQUE INDEX idx_codetext
> ON pcmask
> USING btree
> (cus_text, sys_text, tv_text, e_text, l_text, pp_text, r_text, o_text, v_text, c_text, dd_text, x_text);
>
> Nun lautet z.B. mein INSERT Statement folgendermaßen:
> INSERT INTO pcmask(pcid,customer,system,transmitter,equipment,layout,performance,radio,output,voltage,charger,destination,xtra,cus_text,sys_text,tv_text,e_text,l_text,pp_text,r_text,o_text,v_text,c_text,dd_text,x_text) VALUES((SELECT pcid FROM pc WHERE produktcode='abcd'),
> '005', '716', 'M5', '6', '1', '11', '1', '2', '4', '1', 'US', '0', '', '', '', '', '', '', '', '', '', '', '', '');
>
> Er sollte nun eigentlich meckern, dass er keine Null Werte ('') schreiben darf, aber das tut er nicht. Woran kann dies liegen?!
>
> Danke schonmal im Voraus
>
> Daniel Seichter
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq
>

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Andreas Kretschmer 2005-06-16 13:31:18 Encoding-Unterschiede 7.4.x <-> 8.0.x?
Previous Message Daniel Seichter 2005-06-16 08:38:10 NOT NULL wird ignoriert