Php SQL检测在重复密钥更新和上次插入ID时是否插入或更新
我正在做一个项目,在这个项目中,我可以从facebook的数据库中收集和保存来自不同来源的用户数据,如果他已经存在,我必须更新用户数据 现在,我正在另一个额外的表中保存facebook_user_id作为唯一键,以确保这是第一次检测到该用户,然后如果是第一次检测到该用户,则进行一些操作Php SQL检测在重复密钥更新和上次插入ID时是否插入或更新,php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,我正在做一个项目,在这个项目中,我可以从facebook的数据库中收集和保存来自不同来源的用户数据,如果他已经存在,我必须更新用户数据 现在,我正在另一个额外的表中保存facebook_user_id作为唯一键,以确保这是第一次检测到该用户,然后如果是第一次检测到该用户,则进行一些操作 if($dbh->query()) then ... 然后我必须更新用户数据并获取其db id以供进一步使用 $sql = INSERT into users ... ON DUPLICATE KEY U
if($dbh->query()) then ...
然后我必须更新用户数据并获取其db id以供进一步使用
$sql = INSERT into users ...
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), ...
$uid = LAST_INSERT_ID
所以我需要的是一个解决方案,在这个解决方案中,我可以更新用户数据,并检测是第一次插入还是不使用额外的表进行更新。您使用的是什么数据库?我正在使用的数据库:MySQL(PDO)确保我可以通过选择而不是创建额外的表来获取用户是否已经存在(可能这是一个愚蠢的解决方案:))但无论在哪里,我都在寻找一个更简单、更干净的解决方案,然后做出选择