不同表中的连续ID

时间:2016-02-05 13:21:14

标签: php sql

以下是我的第一篇文章的更正/更新:)

我有一个可以添加新闻的网站。如果我添加一个新闻条目,它将在表格上创建一个数据库条目" news"每个新闻条目都有唯一的ID。

在每个新闻条目中,我可以添加多个图片和多个文本部分。对于我添加的每张图片,它将在表格上创建一个数据库条目" news_images"使用独特的image_id(自动增量)和表中的id" news" (所以我知道哪个图像属于哪个新闻条目)。如果我添加文本部分,则程序相同。

我遇到的问题:每个新闻条目中的图片和文字部分都是可拖动的,所以我可以改变他们的位置(上下)。我必须保存数据库中每个对象的每个位置。为此,我现在添加了一个新表" news_imgid_txtid"。但我仍然不知道如何添加连续的身份证。

示例:

  • 我在新闻条目中添加了一个图像(id 234)。所以表格中的image_id" news_images"将是62 (自动递增)。
  • 表格中的
  • " news_imgid_txtid"值62应该是 写在一行" id" (不知道怎么做但会找到它 出)。
  • 我在新闻条目中添加了一个文本部分(id 234)。所以 表格中的text_id" news_text"将是18(自动增量),但应该是63(不知道如何 这样做)

enter image description here

感谢您的帮助,Misch

2 个答案:

答案 0 :(得分:2)

IMO对于你的情况你应该改变表的结构。首先创建一个标题表media_headermedia_header表应包含id列。与每个表news_image相比,news_text应具有从news_text.text_idnews_image.image_id列到media_header.id列的外键。比数据库将此ID保持为连续。

答案 1 :(得分:0)

如果您尝试在表格中使用唯一的ID列,则需要使用GUID。有关如何执行此操作的详细信息将取决于您的SQL引擎。

然而,目前尚不清楚这是否真的是最适合您的设计。如果您要向我们提供有关为什么的更多信息,我们可能会向您指出更好的方向。