Re: referential integrity violation

Поиск
Список
Период
Сортировка
От mk@fashaf.co.za
Тема Re: referential integrity violation
Дата
Msg-id 20021021082728.GA5999@fashaf.co.za
обсуждение исходный текст
Ответ на Re: referential integrity violation  (Darren Ferguson <darren@crystalballinc.com>)
Ответы Re: referential integrity violation
Re: referential integrity violation
Список pgsql-general
I have tried '' , undef , 'NULL' , 'null' non of them seem to work?

any idea how to submit a NULL value with perl?

Thanks for the help sofar

Merritt



On Fri, 18 Oct 2002 at 10:51:24 -0400, Darren Ferguson wrote:
> When you say you are submitting a null value are submitting it as '' or
> NULL??? If '' then this is not null but an empty string.
>
> If you submit a NULL and the field allows NULL's then you will not see
> this error.
>
> HTH
>
> On Fri, 18 Oct 2002 mk@fashaf.co.za wrote:
>
> > Yes but i am submitting a null value, i submit nothing for slip_printer and i get that error. Same goes for any
valuethat is not restrcited by NOT NULL, the reason i dont restrict them to null is that i want it to be able to be
empty.So i still dont get it :) From what i can tell i may as well make everything NOT NULL and creat a dummy entry to
referenceto for NULL values. 
> >
> > hope that makes sense :)
> >
> > Merritt
> >
> > On Fri, 18 Oct 2002 at 10:34:31 -0400, Darren Ferguson wrote:
> > > What is happening is that you are trying to insert and id for slip
> > > printer into the TABLE pc but the id does not exist in the slip printer
> > > table.
> > >
> > > Since you have slip_printer in pc table and you specified that it
> > > references the slip_printer table id then you must have an id in slip
> > > printer for it to insert into the pc table unless you insert a null value
> > > since you did not specify the constraint on the table
> > >
> > > HTH
> > >
> > > On Fri, 18 Oct 2002 mk@fashaf.co.za wrote:
> > >
> > > > Hi guys
> > > >
> > > > I have created a Pg DB, Ive included 2 of the tables.
> > > > When inserting non NULL values everything works just fine,
> > > > but when i want to leave a table empty i get the following error:
> > > >
> > > > EXEC: ERROR: referential integrity violation - key referenced from pc not found in slip_printer
> > > >
> > > > Im recieving the information from a Perl CGI form that is filled in and then INSERT it using perl DBI
> > > >
> > > > If any more information is needed please let me know. As far as i know i should be allowed to have null.
> > > >
> > > > TIA
> > > > Merritt
> > > >
> > > > CREATE TABLE slip_printer (
> > > >     id        SERIAL PRIMARY KEY,
> > > >     make        VARCHAR(256) NOT NULL,
> > > >     model        VARCHAR(256) NOT NULL,
> > > >     UNIQUE (make, model)
> > > > );
> > > >
> > > > CREATE TABLE pc (
> > > >     id        SERIAL PRIMARY KEY,
> > > >     store        INTEGER REFERENCES store (id) NOT NULL,
> > > >     cpu_type    INTEGER REFERENCES cpu_type (id) NOT NULL,
> > > >     cpu_mhz        INTEGER REFERENCES cpu_mhz (id) NOT NULL,
> > > >     memory_type    INTEGER REFERENCES memory_type (id) NOT NULL,
> > > >     memory_amount    INTEGER,    /* amount of chips/sticks, not size in MB */
> > > >     hdd        INTEGER REFERENCES hdd (id),
> > > >     hdd_serial    VARCHAR(256),
> > > >     monitor        INTEGER REFERENCES monitor (id) NOT NULL,
> > > >     slip_printer    INTEGER REFERENCES slip_printer (id),
> > > >     report_printer    INTEGER REFERENCES report_printer (id),
> > > >     cash_drawer    INTEGER REFERENCES cash_drawer (id) NOT NULL,
> > > >     scanner        INTEGER REFERENCES scanner (id) NOT NULL,
> > > >     ups        INTEGER REFERENCES ups (id),
> > > >     modem        INTEGER REFERENCES modem (id)
> > > > );
> > > >
> > >
> > > --
> > > Darren Ferguson
> > >
> > >
> > > ---------------------------(end of broadcast)---------------------------
> > > TIP 2: you can get off all lists at once with the unregister command
> > >     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> >
>
> --
> Darren Ferguson
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html

Вложения

В списке pgsql-general по дате отправления:

Предыдущее
От: "Brett Elliott"
Дата:
Сообщение: Re: Tutorial on postgreSQL
Следующее
От: "Paul"
Дата:
Сообщение: select into without creating new table