gpt4 book ai didi

php - Mysql插入时出现重复条目​​错误

转载 作者:太空宇宙 更新时间:2023-11-03 11:39:28 25 4
gpt4 key购买 nike

现在发生了一些非常奇怪的事情,我不知道如何解决它...好吧,暂时我知道,但我找到的解决方案不是程序应该如何运行...

所以我有这个 employeetimesheets 表:

empsheet_id | employee_id |timesheet_status |last_update |isWeekNumber|total_hours|isMonth|isYear|overtimeHours

变量:

    $isWeekNumber =  $_POST['isWeekNumber'];
$attendanceyear= $_POST['attendanceyear'];
$attendancemonth= $_POST['attendancemonth'];
$employee_id= $_POST['employee_id'];

查询:

    $insertemptime= $db->prepare("INSERT INTO employeetimesheets (employee_id,isWeekNumber,isMonth,isYear) VALUES (?,?,?,?)");
$insertemptime->bind_param("iiss",$employee_id,$isWeekNumber,$attendancemonth,$attendanceyear);
$insertemptime->execute() or die(mysqli_error($db));
$insertemptime->close();

在插入新行时,当已经有一行具有相同的 employee_id

时,我收到此错误

Fatal error: Uncaught exception 'mysqli_sql_exception' with message 'Duplicate entry '6748372' for key 'EmployeeTimeSheetsKey''

如果我删除了我尝试插入的带有 employee_id 的行,则查询有效。我很困惑,因为它是一个插入语句......我应该能够使用相同的 employee_id 添加任意多的行,是吗?有人知道发生了什么吗?

最佳答案

您已将字段 employee_id 设置为唯一而不是索引

从字段中删除唯一索引并在没有唯一的情况下再次添加索引

示例sql代码

  1. 检查索引

    SHOW INDEX FROM employeetimesheets;
  2. 删除索引

    ALTER TABLE employeetimesheets DROP INDEX employee_id;
  3. 添加索引

    CREATE INDEX employeetimesheets ON employee_id;

关于php - Mysql插入时出现重复条目​​错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43152033/

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