ON DUPLICATE KEY查询-提取表的主键

我有一个查询,希望将INSERT一些数据放入表中,如果特定字段中已经有数据checkPoint,请运行UPDATE。经过大量研究后,用户建议使用ON DUPLICATE KEY。


但是,此查询的作用是更新已存在的行,它插入带有新主键的新行,请有人可以解释我哪里出错了,或者我错过了什么。


<?php

      $idUsers = $_SESSION['id'];

      $ModuleID = 5;

      $checkPoint = 999;


      $query= "INSERT INTO `userTakingModule` (`userTakingModuleID`, `idUsers`, `ModuleID`, `checkPoint`) VALUES (NULL, $idUsers, $ModuleID, $checkPoint) ON DUPLICATE KEY UPDATE `idUsers` = VALUES ($idUsers), `ModuleID` = VALUES ($ModuleID), `checkPoint` = VALUES ($checkPoint) "; 


      $result = $conn -> query($query);

?>

我的数据库布局的屏幕截图:userTakingModule中间调用的表是应用查询的位置。

http://img4.mukewang.com/609de56c0001dd8113370223.jpg

这就是目前正在发生的事情,因为我需要以userTakingModuleID某种方式将主键包含到查询中。(我几乎需要说,寻找那里是相同的已经存在的项目idUserModuleID?)

http://img1.mukewang.com/609de57b0001982e13140185.jpg


慕雪6442864
浏览 177回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP