Обсуждение: Foreign key creation error
Hi!
I've tried creating in pgAdmin3. The generated SQL output was
CREATE TABLE public."KOMENTARJI"
( "idKomentarja" bigserial NOT NULL, "idRecepta" int8 NOT NULL, "idUporabnika" int8 NOT NULL, "Komentar" text
NOTNULL, "DatumVnosa" text NOT NULL, "IPVnosa" text NOT NULL, CONSTRAINT "fkey_KOMENTAR_RECEPT" FOREIGN KEY
(idRecepta)REFERENCES
"RECEPTI" (idRecepta) ON UPDATE RESTRICT ON DELETE RESTRICT, CONSTRAINT "fkey_KOMENTAR_UPORABNIK" FOREIGN KEY
(idUporabnika)
REFERENCES "UPORABNIKI" (idUporabnika) ON UPDATE RESTRICT ON DELETE
RESTRICT, CONSTRAINT "pkey_KOMENTARJI" PRIMARY KEY ("idKomentarja")
) WITHOUT OIDS;
When hitting OK pgAdmin reported an error. I tried manually entering this
query by adding quotes to column names in the foreign key constraints:
CREATE TABLE public."KOMENTARJI"
( "idKomentarja" bigserial NOT NULL, "idRecepta" int8 NOT NULL, "idUporabnika" int8 NOT NULL, "Komentar" text
NOTNULL, "DatumVnosa" text NOT NULL, "IPVnosa" text NOT NULL, CONSTRAINT "fkey_KOMENTAR_RECEPT" FOREIGN KEY
("idRecepta")REFERENCES
"RECEPTI" ("idRecepta") ON UPDATE RESTRICT ON DELETE RESTRICT, CONSTRAINT "fkey_KOMENTAR_UPORABNIK" FOREIGN KEY
("idUporabnika")
REFERENCES "UPORABNIKI" ("idUporabnika") ON UPDATE RESTRICT ON DELETE
RESTRICT, CONSTRAINT "pkey_KOMENTARJI" PRIMARY KEY ("idKomentarja")
) WITHOUT OIDS;
and the query was accepted, the table and everything created.
Did I do something wrong when creating the table and foreign keys? Or is
there some other reason that the column names in foreign keys weren't
wrapped with double quotes?
I am running Windows 2000, sp3, and I just today downloaded pgAdmin3 (win32
binary). I've been using English language.
Other than that it seems to be working great!
--
Regards,
Miha
Miha Radej wrote:
> Hi!
>
> I've tried creating in pgAdmin3. The generated SQL output was
>
> CREATE TABLE public."KOMENTARJI"
> (
> "idKomentarja" bigserial NOT NULL,
> "idRecepta" int8 NOT NULL,
> "idUporabnika" int8 NOT NULL,
> "Komentar" text NOT NULL,
> "DatumVnosa" text NOT NULL,
> "IPVnosa" text NOT NULL,
> CONSTRAINT "fkey_KOMENTAR_RECEPT" FOREIGN KEY (idRecepta)
> REFERENCES "RECEPTI" (idRecepta) ON UPDATE RESTRICT ON DELETE
> RESTRICT,
> CONSTRAINT "fkey_KOMENTAR_UPORABNIK" FOREIGN KEY (idUporabnika)
> REFERENCES "UPORABNIKI" (idUporabnika) ON UPDATE RESTRICT ON DELETE
> RESTRICT,
> CONSTRAINT "pkey_KOMENTARJI" PRIMARY KEY ("idKomentarja")
> ) WITHOUT OIDS;
>
> When hitting OK pgAdmin reported an error. I tried manually entering
> this query by adding quotes to column names in the foreign key
> constraints:
>
> CREATE TABLE public."KOMENTARJI"
> (
> "idKomentarja" bigserial NOT NULL,
> "idRecepta" int8 NOT NULL,
> "idUporabnika" int8 NOT NULL,
> "Komentar" text NOT NULL,
> "DatumVnosa" text NOT NULL,
> "IPVnosa" text NOT NULL,
> CONSTRAINT "fkey_KOMENTAR_RECEPT" FOREIGN KEY ("idRecepta")
> REFERENCES "RECEPTI" ("idRecepta") ON UPDATE RESTRICT ON DELETE
> RESTRICT,
> CONSTRAINT "fkey_KOMENTAR_UPORABNIK" FOREIGN KEY ("idUporabnika")
> REFERENCES "UPORABNIKI" ("idUporabnika") ON UPDATE RESTRICT ON
> DELETE RESTRICT,
> CONSTRAINT "pkey_KOMENTARJI" PRIMARY KEY ("idKomentarja")
> ) WITHOUT OIDS;
>
> and the query was accepted, the table and everything created.
>
> Did I do something wrong when creating the table and foreign keys? Or
> is there some other reason that the column names in foreign keys
> weren't wrapped with double quotes?
Thanks Miha,
quoting missed, patched in CVS. There might be other places where quotes
are missing, please don't hesitate to claim all of them.
Regards,
Andreas