X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id 6FA4853BA9 for ; Wed, 30 Mar 2005 17:31:49 +0100 (BST) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 50144-08 for ; Wed, 30 Mar 2005 16:31:45 +0000 (GMT) Received: from tigger.fuhr.org (tigger.fuhr.org [63.214.45.158]) by svr1.postgresql.org (Postfix) with ESMTP id 8A17953B9E for ; Wed, 30 Mar 2005 17:31:44 +0100 (BST) Received: from winnie.fuhr.org (winnie.fuhr.org [10.1.0.1]) by tigger.fuhr.org (8.13.3/8.13.3) with ESMTP id j2UGVdBX002532 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 30 Mar 2005 09:31:42 -0700 (MST) (envelope-from mfuhr@winnie.fuhr.org) Received: from winnie.fuhr.org (localhost [127.0.0.1]) by winnie.fuhr.org (8.13.3/8.13.3) with ESMTP id j2UGVdgO035710; Wed, 30 Mar 2005 09:31:39 -0700 (MST) (envelope-from mfuhr@winnie.fuhr.org) Received: (from mfuhr@localhost) by winnie.fuhr.org (8.13.3/8.13.3/Submit) id j2UGVcDm035709; Wed, 30 Mar 2005 09:31:38 -0700 (MST) (envelope-from mfuhr) Date: Wed, 30 Mar 2005 09:31:38 -0700 From: Michael Fuhr To: ASAKALAL@bouyguestelecom.fr Cc: pgsql-sql@postgresql.org Subject: Re: RE : Foreign key Message-ID: <20050330163138.GA35656@winnie.fuhr.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0.004 tagged_above=0 required=5 tests=AWL X-Spam-Level: X-Archive-Number: 200503/391 X-Sequence-Number: 20870 On Wed, Mar 30, 2005 at 02:09:05PM +0200, ASAKALAL@bouyguestelecom.fr wrote: > > Thanks for your answers but i make the modifications, the same error returned. > Here my script : > ... > Create table Salariés (Nom_salarié VARCHAR(20), > Prénom VARCHAR(20), > Fonction VARCHAR(50), > Service VARCHAR(50), > Adresse VARCHAR(100), > Numero_SS integer, > Matricule VARCHAR(6), > rs_ssii VARCHAR(30) references ssii, > PRIMARY KEY ( Nom_salarié, rs_ssii)) ; The salariés table has a primary key with two columns. > Create table Compteur (id integer, > Heures_travaillées decimal(6,2), > Cp_acquis decimal(6,2), > Cp_pris decimal(6,2), > RTT_acquis decimal(6,2), > RTT_pris decimal(6,2), > Nom_salarié VARCHAR(20) references salariés, > rs_ssii VARCHAR(30) references ssii, > PRIMARY KEY ( Nom_salarié,rs_ssii,Id)) ; The foreign key reference to salariés has only one column but the primary key for salariés has two columns, hence the error. It looks like you should be doing this: Nom_salarié VARCHAR(20), rs_ssii VARCHAR(30), FOREIGN KEY (Nom_salarié, rs_ssii) REFERENCES salariés, -- Michael Fuhr http://www.fuhr.org/~mfuhr/