php – 使用mysql行的标识符
发布时间:2020-12-13 21:44:55 所属栏目:PHP教程 来源:网络整理
导读:我在php中设置一个事件,并将其保存到 mysql.稍后,我想更新事件,但为了知道哪个事件需要更新,我使用它创建的时间. 但是,如果几个事件从完全相同的第二个开始,如果我们有很多用户,我可能会遇到问题.我的解决方案是检查starttime和usernumber,我认为它应该足够
我在php中设置一个事件,并将其保存到
mysql.稍后,我想更新事件,但为了知道哪个事件需要更新,我使用它创建的时间.
但是,如果几个事件从完全相同的第二个开始,如果我们有很多用户,我可能会遇到问题.我的解决方案是检查starttime和usernumber,我认为它应该足够独特.这个可以吗?有更好的方法吗? 首先,在创建事件时: $starttime = time(); mysql_query("INSERT INTO events (userid,starttime) VALUES ('$userid','$starttime')"); 稍后,更新活动: mysql_query("UPDATE events SET newdata='$newdata' WHERE starttime='$starttime' AND userid='$userid'"); 解决方法
糟糕的方式去.只需在该表上放置一个auto_incrementing主键ID字段,这将为您提供一个保证唯一的非重复值,您可以无可置疑地识别行,而不必担心重叠/冲突:
ALTER TABLE events ADD id int unsigned primary key auto_increment; 您可以在插入查询后自动检索该值: $sql = "INSERT ..."; $result = mysql_query($sql) or die(mysql_error()); $new_id = mysql_insert_id(); // see here: http://us2.php.net/manual/en/function.mysql-insert-id.php ... other stuff... $sql = "UPDATE ... WHERE id = $new_id;": $result = mysql_query($sql) or die(mysql_error()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |