在我的User
表中,我将phone
设置为唯一。因此,当我插入重复的电话号码时,我想更新deviceId
,registrationId
,并且我想要更新的id
。我试过了,但是没有用。
$stmt1 = $db->prepare("INSERT into User (name,phone, deviceId,registrationId) values(:name,:phone, :deviceId,:registrationId) ON DUPLICATE KEY UPDATE deviceId = :deviceId, registrationId = :registrationId, id=lastInsertId(id)");
谢谢..
最佳答案
与OP聊天后,问题在于更新记录时他没有获得ID。最终的解决方案是使用id=LAST_INSERT_ID(id)
,因此ON DUPLICATE KEY UPDATE
将设置ID,然后使用$db->lastInsertId();
获取ID。
$stmt = $db->prepare("INSERT into User (name,phone, deviceId,registrationId) values(:name, :phone, :deviceId,:registrationId) ON DUPLICATE KEY UPDATE deviceId = :deviceId, registrationId = :registrationId, id=LAST_INSERT_ID(id)");
然后在之后获取插入ID。
$id = $db->lastInsertId();
关于php - 更新重复条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33363567/