2011-07-12 14 views
2

我有三個表:ModelingAgency.clients,ModelingAgency.models,ModelingAgency.Bookings。所有三個表都有一個名爲id的主鍵列。pgAdmin - 當試圖使外鍵「引用」不提供選項

bookings有兩列,分別是clientsmodels。在pgAdmin的,當我嘗試創建bookings外鍵要麼clientsmodels我得到如下畫面:

Screen One

Screen Two

我俯瞰的是什麼?我是PostgreSQL的新手(這是我第一個使用PostgreSQL的測試項目 - 我一直使用MySQL,偶爾也使用SQL Server),所以它可能很明顯(我只是沒有看到它)。

編輯:這裏是DDL,如要求:

-- Table: "ModelingAgency.bookings" 

-- DROP TABLE "ModelingAgency.bookings"; 

CREATE TABLE "ModelingAgency.bookings" 
(
    id integer NOT NULL DEFAULT nextval('"ModelingAgency.Bookings_id_seq"'::regclass), 
    "clientId" integer NOT NULL, 
    "modelId" integer NOT NULL, 
    "time" timestamp with time zone NOT NULL DEFAULT now(), 
    "location" character varying(100) NOT NULL DEFAULT 'No Location Selected'::character varying, 
    CONSTRAINT "bookingId" PRIMARY KEY (id) 
) 
WITH (
    OIDS=FALSE 
); 
ALTER TABLE "ModelingAgency.bookings" OWNER TO "MyBatisTutorial"; 


-- Table: "ModelingAgency.clients" 

-- DROP TABLE "ModelingAgency.clients"; 

CREATE TABLE "ModelingAgency.clients" 
(
    id integer NOT NULL DEFAULT nextval('"ModelAgency.clients_id_seq"'::regclass), 
    "name" character varying(45) NOT NULL, 
    CONSTRAINT "clientId" PRIMARY KEY (id) 
) 
WITH (
    OIDS=FALSE 
); 
ALTER TABLE "ModelingAgency.clients" OWNER TO "MyBatisTutorial"; 


-- Table: "ModelingAgency.models" 

-- DROP TABLE "ModelingAgency.models"; 

CREATE TABLE "ModelingAgency.models" 
(
    id serial NOT NULL, 
    "name" character varying(45) NOT NULL, 
    CONSTRAINT "modelId" PRIMARY KEY (id) 
) 
WITH (
    OIDS=FALSE 
); 
ALTER TABLE "ModelingAgency.models" OWNER TO "MyBatisTutorial"; 
+1

你用什麼版本pgAdmin3 + OS和PostgreSQL的?使用PostgreSQL 9.0在OSX上運行的版本1.12可以正常工作。 –

+0

看起來很奇怪。檢查您是否使用PostgreSQL的最新小版本(8.4或9.0.4)和相應版本的pgAdmin3(最好使用最新版本)。 –

+0

我剛剛下載了最新版本,並在嘗試此操作之前進行了安裝。 pgAdmin 1.12.3和PostgreSQL 9.0.4。 – KPthunder

回答

3

尋找到你發佈DDL代碼,我看到你的表的名字都寫在錯誤的方式(即會導致pgAdmin的您的問題):

"ModelingAgency.bookings" 

它應該在格式"schema"."tableName"

"ModelingAgency"."bookings" 

該對象瀏覽器後看起來是這樣的(可能是您需要首先創建架構使用容易的pgAdmin或CREATE SCHEMA SQL語句):

enter image description here

這裏工作DDL代碼(我忽略了一些東西像OIDSOWNER TO ,但是這不要緊,你的情況,順便說一句OIDS都是假的默認值):

DROP TABLE IF EXISTS "ModelingAgency"."bookings"; 
CREATE TABLE "ModelingAgency"."bookings" 
(
    id serial, 
    "clientId" integer NOT NULL, 
    "modelId" integer NOT NULL, 
    "time" timestamp with time zone NOT NULL DEFAULT now(), 
    "location" character varying(100) NOT NULL 
     DEFAULT 'No Location Selected'::character varying, 
    CONSTRAINT "bookingId" PRIMARY KEY (id) 
); 

DROP TABLE IF EXISTS "ModelingAgency"."clients"; 
CREATE TABLE "ModelingAgency"."clients" 
(
    id serial, 
    "name" character varying(45) NOT NULL, 
    CONSTRAINT "clientId" PRIMARY KEY (id) 
); 

DROP TABLE IF EXISTS "ModelingAgency"."models"; 
CREATE TABLE "ModelingAgency"."models" 
(
    id serial NOT NULL, 
    "name" character varying(45) NOT NULL, 
    CONSTRAINT "modelId" PRIMARY KEY (id) 
) 
相關問題