Re: inet/cidr data types
От | Vince Vielhaber |
---|---|
Тема | Re: inet/cidr data types |
Дата | |
Msg-id | Pine.BSF.4.44.0211080735220.33091-100000@paprika.michvhf.com обсуждение исходный текст |
Ответ на | inet/cidr data types (Russell Aspinwall <russell.aspinwall@flomerics.co.uk>) |
Список | pgsql-general |
On Fri, 8 Nov 2002, Russell Aspinwall wrote: > Hi, > > I need to store 2GB of accumulated data into a database. I have built > v7.2.3 with Java, Tcl/Tk, Perl, C++ language extensions. I have written > nawk scripts to convert csv data into the appropiate INSERT INTO > commands, then adding the data is a simple matter of running psql -d > <database> -f date.psql > > Some of the fields are of type inet or cidr , however these fields do > not always contain a value. I need to be able to set the field to null > in my INSERT INTO command the empty values are represented by ''. > However during the INSERT command, the command can fail with a message > like. I would like to be able to queries on these fields but > automatically exclude the null values. > > psql:test.psql:1: ERROR: invalid CIDR value '' > > Any help would be appreciated. Give your inet type a default of null (not sure if this is necessary): create table foo(a int, n inet default null); An insert statement with an inet value: insert into foo(a,n) values(1,'1.1.1.1'); An insert statement without an inet value: insert into foo(a,n) values(1,NULL); template1=# select * from foo; a | n ---+--------- 1 | 1.1.1.1 1 | (2 rows) So when you put your insert statement together, replace the '' with NULL and you should be fine. Note there are no single quotes around NULL. Vince. -- http://www.meanstreamradio.com http://www.unknown-artists.com Internet radio: It's not file sharing, it's just radio.
В списке pgsql-general по дате отправления: