gpt4 book ai didi

mysql - 如果mySQL表中的记录已被删除,如何避免重复?

转载 作者:行者123 更新时间:2023-11-29 16:12:54 26 4
gpt4 key购买 nike

我在 mySQL 中有以下假设的表。

Fields : EMP_ID (Primary ky), Employee_name (Unique), Emp_Age, Deleted (bit)

Employee_name 被定义为唯一的。执行删除时我不会物理删除记录。相反,我会将“已删除”字段更新为 1。(未删除=0)。现在,如果我尝试插入具有相同员工姓名的另一条记录,该记录将会失败,因为它已经存在。

为了避免这种情况,我可以定义一个新的“索引名称”(Employee_Name 和 Deleted)。但这只会起作用一次。第二次删除将失败,因为我现在无法将“已删除”字段更改为 1,因为它已经存在。

有没有更好的方法来处理这种情况?

我可以添加第三个字段,例如“Deleted_Date”,并将其添加到“索引名称”(Employee_Name、Deleted、Deleted_Date)中,该字段将起作用(因为“Deleted_Date”不会重复)。但这是个好方法吗?

最佳答案

您会遇到关于员工姓名的唯一索引的各种问题。最终您将拥有 2 名同名的在职员工。如果您在设计时考虑到这一点,那么删除后就不会出现重复的问题。

此外,我喜欢使用“status”而不是 bool /位字段。当您有人休假或不活动或发生其他情况时,它可以为您提供一定的灵 active 。

关于mysql - 如果mySQL表中的记录已被删除,如何避免重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55093383/

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