gpt4 book ai didi

php - 如何根据 2 个外键创建不同的主键

转载 作者:行者123 更新时间:2023-11-29 19:55:55 25 4
gpt4 key购买 nike

所以我在 MySQL 中有一个表,其中包含行 DateUsernameHours。我想要做的是根据从另一个表引用的两个外键值(DateUsername)生成主键

由于用户在某一天只能工作 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)

关于php - 如何根据 2 个外键创建不同的主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40709259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com