我有一個postgresql數據庫中的三個表,即tec_configurations,tep_cores和tep2tec_bindings。表tec2tep_bindings引用前兩個表的主鍵字段。每個表的相關創建語句在下面的SQL代碼片段2,3和4中列出。我得到下面第一段中指出的錯誤。你能告訴我如何解決這個錯誤?表TEC_CONFIGURATIONS中的'id'字段已經是唯一的,因爲它是主鍵。所以,我沒有看到得到這個錯誤信息的理由。獨特的字段 - 沒有唯一的約束匹配給定的鍵
SNIPPET 1(錯誤消息):
ERROR: there is no unique constraint matching given keys for referenced table
"tec_configurations"
SNIPPET 2(表tec_configurations):
CREATE TABLE IF NOT EXISTS TEC_CONFIGURATIONS (
ID SERIAL PRIMARY KEY,
TEC_ID INT NOT NULL,
HANDLER_MAC TEXT NOT NULL,
PRIMARY_MAC TEXT,
SECONDARY_MAC TEXT,
TERTIARY_MAC TEXT,
EXPECTED_FLOWS INT DEFAULT 0,
VERSION INT DEFAULT 0,
UUID TEXT DEFAULT NULL);
SNIPPET 3(表tep_cores):
CREATE TABLE IF NOT EXISTS TEP_CORES (
ID SERIAL PRIMARY KEY,
MAC TEXT,
UUID TEXT,
CORE_NO INT DEFAULT 0);
SNIPPET 4(表tec2tep_bindings)
CREATE TABLE IF NOT EXISTS TEC2TEP_BINDINGS (
ID SERIAL PRIMARY KEY,
TEC_ID_FK INT NOT NULL REFERENCES TEC_CONFIGURATIONS(ID),
TEP_CORE_ID_FK INT NOT NULL REFERENCES TEP_CORES(ID),
REPLICA_RANK INT DEFAULT 0);
無法在PostgreSQL 9.1中重現。你使用什麼版本? –