这是我的第一个堆栈溢出的问题,所以道歉,如果我做错了什么。我避免在问题中使用“索引”一词,以免将我的问题与数据库索引混淆。这个问题是关于索引表示法-指定元素在一系列项中的位置。
摘要
我有一个系统 documents
与他们相应的 paragraphs
; 每个 document
包含许多 paragraphs
. 这些数据存储在mysql数据库中。
这个 paragraphs
表包含以下字段:
主键(自动递增)
文档id(文档表的外键)
我想在新字段中添加一个新字段 paragraphs
表设置为给定段落相对于其所在文档的索引。在迁移添加此字段时,此查询只运行一次;然后我计划在插入段落时填充它。
每个文档的第一段的索引应为0。每个文档的第二段的索引应为1。
段落表
主键:1文档id:1索引:0
主键:2文档id:1索引:1
主键:3文档id:1索引:2
主键:4文档id:2索引:0
主键:5文档id:2索引:1
一个明显的方法是在每个文档的基础上这样做,但是在一个大型的文档数据库中这样做似乎效率低下。
非常感谢你的帮助!多姆
1条答案
按热度按时间kognpnkq1#
您可以使用变量来实现这一点(当然,在添加列之后):
注:
index
对于列来说是一个非常糟糕的名称,因为它是一个sql关键字。将列命名为其他名称,例如paragraph_number
.