我有一个简单的在线高分系统用于我的iphone游戏,带有一个MysqL数据库,它有一个字段排名,名称,分数和udid(唯一设备标识符).我不想从udid获得多个分数,我的问题是:我如何确保删除旧分数并插入新分数,并使用新的分数.
我插入分数的代码是:
// Insert the score
$retval = MysqL_query("INSERT INTO $table(
udid,
name,
score
) VALUES (
'$udid',
'$name',
'$score'
)",$conn);
if($retval) {
echo "Inserted score $score for $name";
}
所以我想覆盖旧的分数并插入新的分数.
谢谢你的帮助,
干杯,乔
编辑:
我不是一个PHP程序员,所以如果你想,请提供一个简单的例子,提前谢谢!
解决方法:
REPLACE工作正常,正如其他人所建议的那样,但是,REPLACE会实际删除该行,然后插入新行,这在性能上是昂贵的.
我建议你改用INSERT … ON DUPLICATE KEY:
INSERT INTO tablename (udid, name, score)
VALUES (12, 'marcus', 100)
ON DUPLICATE KEY UPDATE score = 100 WHERE udid = 12
确保udid上有主键或唯一键以使其正常工作.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。