重复密钥更新无法正常工作

时间:2016-12-01 10:51:02

标签: php mysql

我尝试在查询中使用重复密钥更新,但它仍然复制了一些值。

我的查询是这样的:

 $insert=mysqli_query($conn,"insert into tbl_staffdistribution(db_user,db_name,db_responsible,db_date)values('$user','$name','$responsible','$formatteddatetimein') on duplicate key update db_user='$user',db_name='$name',db_responsible='$responsible',db_date='$formatteddatetimein'")or die(mysqli_error($conn));

我的数据库中 db_id 是主键自动增量。

问题是我的数据库中有一个重复的值而且不应该发生我怎样才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

为了做到这一点。您应该在表格中设置unique key,以便可以将其用于on duplicate key update。唯一键可以是您表中的主键或其他字段。您可以在查询中执行以下操作:

ON DUPLICATE KEY UPDATE someID = VALUES(someID)

来自MySQL的明确解释。