如何为数据库对象分配唯一的ID

时间:2014-12-03 08:33:41

标签: php ios mysql

在我的应用中,任何用户都可以创建包含标题,说明和ID的帖子对象。这些post对象存储在服务器内的数据库中。但是,我需要一种方法为帖子分配唯一的ID,因此我可以将用户分配到他们的帖子(只有帖子的ID将存储在海报手机的核心数据中)。 现在我使用整数作为ID。例如,当用户提交帖子时,我有它,所以查询数据库,我找到提交的最后一篇文章的ID,然后使当前帖子的ID提交比最后一个的ID多一个。然后将帖子上传到数据库。 我觉得这是不好的做法,因为如果2个人巧合地同时提交他们的帖子,他们各自的帖子可以被赋予相同的ID。 所以,我要问的是我应该如何为数据库中的对象分配某种ID以保证它是唯一的?我应该在PHP脚本中分配它,然后以某种方式将该ID返回给Xcode?对不起,我是新来的。

1 个答案:

答案 0 :(得分:1)

您可以简单地为帖子使用自动增量ID,因此database可以为您完成这项工作。

CREATE TABLE post(
     id INT NOT NULL AUTO_INCREMENT,
     title VARCHAR(255) NOT NULL,
     description VARCHAR(255),
     PRIMARY KEY (id)
);

只需检查mysql文档中的Auto increment example

即可

将数据添加到表后,您可以使用last_insert_id命令获取插入的帖子的最后一个ID。

因此,如果您使用PHP作为编程语言并且使用mysqli进行数据库访问,则可以使用mysqli_insert_id来获取最后一个id(请参阅php.net文档中的示例以便更好地理解)