1
我已閱讀了一些類似的問題和答案,並且我不會退出以瞭解問題。我目前的猜測之一是Potgres可能不允許外鍵輸入非主鍵。錯誤:沒有與參考表「用戶」的給定鍵相匹配的唯一約束條件
用戶:
用戶註冊,每行1個用戶,每行(串行),唯一的電子郵件(主鍵)
user_logins 1個ID:
有關用戶登錄的信息,引用了USER_ID用戶爲外鍵,列的其餘部分一起,使複合主鍵
CREATE TABLE users
(
unique_email TEXT NOT NULL,
password TEXT NOT NULL,
user_id SERIAL,
created_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT LOCALTIMESTAMP,
CONSTRAINT emailPK
PRIMARY KEY(unique_email)
);
CREATE TABLE user_logins
(
user_id SERIAL,
login_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT LOCALTIMESTAMP,
login_ip INET,
CONSTRAINT user_idFK
FOREIGN KEY (user_id)
REFERENCES users(user_id)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT composit_PK_logins
PRIMARY KEY(user_id, login_date, login_ip)
);
我認爲串行已經是獨一無二的,謝謝。 –
@ RobertC.Holland Serial並不保證它具有獨特的價值。你可以隨時手動設置任何數字。 – Yana