在我的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)");
谢谢..
答案 0 :(得分:0)
与OP聊天后问题是他在更新记录时没有获得ID。最终解决方案是使用id=LAST_INSERT_ID(id)
,以便ON DUPLICATE KEY UPDATE
设置ID,然后使用$db->lastInsertId();
$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();