我试图使用Steam API登录我的网站,我希望每次用户登录时都会创建一个数据库条目,但是,每次使用此代码时,我都会一直重复插入:
INSERT INTO tbl_users (steam_id, username, trade, welcome) VALUES ('".$steamprofile['steamid']."','".$steamprofile['personaname']."','0', '1')
然后我尝试了一些代码,如果条目存在,它会更新,但我仍然最终得到了一个新条目。
$sql = "INSERT INTO tbl_users (steam_id, username, trade, welcome) VALUES ('".$steamprofile['steamid']."','".$steamprofile['personaname']."','0', '1')
ON DUPLICATE KEY UPDATE username=('".$steamprofile['personaname']."')";
我真正需要的是复制的主键,因此当它检查重复时,它会查看steamid而不是user_id(数据库中的主键和AI)
感谢您的帮助:D
答案 0 :(得分:0)
正如其他任何人想要解决类似问题的解决方案一样,数据库中必须有一个唯一的索引,因此php可以决定插入或更新,在我的情况下,我使用了他们从未改变的steamid。
感谢@Barmar的回答