[英]How to have a distinct Primary Key based off of 2 Foreign Keys
所以我在MySQL中有一個表,其中有行Date
, Username
和Hours
。 我想要做的是基於另一個表中引用的Date
和Username
兩個外鍵值生成主鍵
由於用戶在某一天只能工作X個小時,但是顯然可以工作許多天。 然后,當然有多個用戶可以在同一天工作。 但是區別他們的是他們的用戶名。 每個用戶與眾不同的是他們工作的日子。
我想要使用此生成的PK字段執行的操作是使用類似SQL查詢
INSERT INTO Shift (`Date`, `Username`, `Hours`)
VALUES('$Date', '$username', 5)
ON DUPLICATE Key UPDATE `Date` = '$today', `Username`= '$username', Hours= $TotalHr
我考慮過只使用PHP進行SQL查詢以測試用戶名和日期是否在表中,然后從那里進行插入或更新。 但這似乎是一個丑陋的工作,當然必須有一種方法來實現這一目標。
組合的主鍵也稱為組合鍵。 具有這些鍵的示例表為:
CREATE TABLE Shift(
Date DATETIME,
Username VARCHAR(75),
Hours INT(11),
PRIMARY KEY (Date, Username)
)
您當然也可以通過查詢更改表。
ALTER TABLE Shift
ADD PRIMARY KEY (Date, Username)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.