Vous n'êtes pas identifié(e).

#1 04/02/2012 18:14:49

Sub
Membre

clé étrangère impossible ?

hello
j'arrive pas a faire un clé étrangère sur la colonne: keyid
pour crée la première table

CREATE TABLE table_principal (exist integer,datescan text,path text UNIQUE ,keyid serial PRIMARY KEY);
resulta:

CREATE TABLE table_principal (exist integer,datescan text,path text UNIQUE ,keyid serial PRIMARY KEY);
NOTICE:  CREATE TABLE créera des séquences implicites « table_principal_keyid_seq » pour la colonne serial « table_principal.keyid »
NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite « table_principal_pkey » pour la table « table_principal »
NOTICE:  CREATE TABLE / UNIQUE créera un index implicite « table_principal_path_key » pour la table « table_principal »

ensuite:
CREATE TABLE tablemd (md text,sid INTEGER, FOREIGN KEY(keyid) REFERENCES table_principal (keyid));
ERREUR:  la colonne « keyid » référencée dans la contrainte de clé étrangère n'existe pas

précision je teste via le terminal(shell) sous debian puis en avec la libpqxx3 en c++


Sous debian squeez, nouveaux sur le forum

Hors ligne

#2 04/02/2012 20:03:25

dverite
Membre

Re : clé étrangère impossible ?

Ce n'est pas la bonne syntaxe pour FOREIGN KEY.
Il faudrait plutôt ça:

CREATE TABLE tablemd (md text,sid INTEGER, keyid integer REFERENCES table_principal (keyid));

Hors ligne

#3 04/02/2012 22:17:40

Sub
Membre

Re : clé étrangère impossible ?

Merci pour ta réponse, je pensai pour temps que c'était juste mai bon :S


Sous debian squeez, nouveaux sur le forum

Hors ligne

Pied de page des forums