pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Stephan Szabo <sszabo@megazone.bigpanda.com>
To: Michelle Murrain <tech@murrain.net>
Cc: pgsql-sql@postgresql.org
Subject: Re: simple addition of constraints problem
Date: Tue, 8 Jun 2004 16:18:07 -0700 (PDT)
Message-ID: <20040608161622.S64030@megazone.bigpanda.com> (raw)
In-Reply-To: <p0602040bbcebe1496b26@[66.152.196.53]>
References: <p0602040bbcebe1496b26@[66.152.196.53]>


On Tue, 8 Jun 2004, Michelle Murrain wrote:

> I'm trying to do something which seems really simple to me. (Postgres 7.3.4)
>
> I've got this table:
>
> charter_dev2=# \d rcourseinfo
>                                 Table "public.rcourseinfo"
>     Column    |         Type          |                     Modifiers
> -------------+-----------------------+---------------------------------------------------
>   courseid    | integer               | not null default
> nextval('rcourseinfo_seq'::text)
>   coursename  | character varying(50) |
>   dept        | character varying(30) |
>   number      | character varying(4)  |
>   section     | character varying(2)  |
>   trimester   | character varying(5)  |
>   schoolyear  | character varying(8)  |
>   facultyid   | integer               |
>   description | text                  |
>   credits     | real                  |
> Indexes: rcourseinfo_pkey primary key btree (courseid),
>           rcourseinfo_number_index btree (number)
>
> With a primary key called 'courseid'.
>
> I've got a second table:
>
> charter_dev2=# \d coursesevaluations
>                               Table "public.coursesevaluations"
>          Column         |  Type   |                        Modifiers
> -----------------------+---------+----------------------------------------------------------
>   courseid              | integer |
>   evalid                | integer |
>   coursesevaluations_id | integer | not null default
> nextval('coursesevaluations_seq'::text)
> Indexes: coursesevaluations_pkey primary key btree (coursesevaluations_id),
>           coursesevaluations_evalid_index btree (evalid)
>
>
> I'd like to make 'courseid' in this second table a foreign key,
> referencing 'courseid' in the first table. So I did this command:
>
> charter_dev2=# ALTER TABLE coursesevaluations ADD CONSTRAINT rc_ce
> FOREIGN KEY (courseid) REFERENCES rcourseinfo (courseid);
>
> And I get this result:
>
> NOTICE:  ALTER TABLE will create implicit trigger(s) for FOREIGN KEY check(s)
> ERROR:  rc_ce referential integrity violation - key referenced from
> coursesevaluations not found in rcourseinfo
>
> This doesn't make any sense to me - the fields are named the same,
> and are the same data type. I've pored over the docs, to no avail.
> I'm sure I'm missing something really elementary, but it's escaping
> me.

That's the message for the constraint violation.  It looks like perhaps
the data doesn't meet the constraint (in 7.4 it would have shown you
values, for 7.3 you'll have to look yourself).




view thread (3+ messages)

Message-ID: <20040608161622.S64030@megazone.bigpanda.com>
Permalink:  ../20040608161622.S64030@megazone.bigpanda.com/
Also on:    postgresql.org/message-id/20040608161622.S64030@megazone.bigpanda.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: sszabo@megazone.bigpanda.com, tech@murrain.net
  Subject: Re: simple addition of constraints problem
  In-Reply-To: <20040608161622.S64030@megazone.bigpanda.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox