【问题标题】:how to create post_id for a new post in social website如何为社交网站中的新帖子创建 post_id
【发布时间】:2019-06-21 02:10:34
【问题描述】:

我想为新帖子创建id,例如0000100002,但是, 同时我需要检索post_id来命名图片URLxxx/00001_1.jpg。那我应该用mysql(auto_increment) 还是php/java API 来实现呢?

【问题讨论】:

  • 我认为 id 应该没有超出数据库范围的意义,所以只有一个自动递增的 id 和一个唯一的图像文件路径/名称。相信数据库会告诉你哪个图片属于哪个帖子。

标签: php mysql web


【解决方案1】:

您可以一次运行两个查询 1)将帖子插入mysql数据库而不是获取最后修改行的ID。 2)在您获取的 Id 的帮助下更新该特定行,并在该特定行 Id 处以新名称 001.jpg 执行更新表命令 如果您需要真正的工作代码,请发表评论

auto_increment 也会给你从 0 开始的数字,依此类推。如果您需要这样的数字,请使用 php base_convert()

我将继续我所说的代码示例。

第一个查询就像

INSERT into table (name, post) VALUES ('$NAME', '$POST_STRING') ;

$lastID = mysqli_insert_id($con);

**用于插入图像的第二次更新查询将类似于 **

UPDATE table SET img = '$lastID' WHERE Id = '$lastID' 

【讨论】:

  • 很高兴为您提供帮助?也许我可以得到您的支持
  • 我很想这样做,但是我的声誉低于 15 分,我现在无法投票..
【解决方案2】:

对于架构是的,只需使用 auto_increment。

我不确定在 java 中,但 php 中有函数可以返回最后插入的项目: How do I get the last inserted ID of a MySQL table in PHP?

【讨论】:

    【解决方案3】:

    您不能使用自增,因为自增总是以 1 开头。而您使用的是 00001。因此,您必须手动添加 id。

    首先获取最后插入的 id。当您插入新数据时,您必须使用last_inserted_id +1 - 像这样:

    $last_inserted_id=SELECT LAST_INSERT_ID();
    

    在插入时使用 last_inserted_id 和 +1。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-02
      • 2015-03-24
      • 1970-01-01
      • 2011-11-01
      • 2011-11-19
      • 2011-02-18
      • 1970-01-01
      相关资源
      最近更新 更多