我正在制作某种主题列表。它可以有多个主题,每个主题可以有多个子主题。如果您喜欢或不喜欢,您也可以为每个子主题投票,但我认为这与问题无关。
所以我的两个相关数据库表是topics
和subtopics
。
以下是它们的简化版本:
CREATE TABLE topics (
id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
name VARCHAR(1000) NOT NULL
);
CREATE TABLE subtopics (
id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
title VARCHAR(1000) NOT NULL,
topic_id INTEGER NOT NULL,
FOREIGN KEY(topic_id)
REFERENCES topics(id)
);
我想添加一种标记子主题的可能性,它是优先的,但每个主题应该始终只有一个优先子主题。
您对如何实现这一点有什么建议吗?
我的想法是向 subtopics
添加另一个带有时间戳的字段,当您将其标记为优先时,该字段会更新为当前时间。选择条目时,您只需查找最近的时间戳。
还有其他(更好的)可能性吗?
我正在使用 PHP 和 MySQL
最佳答案
您必须在子主题表中添加三个字段优先级、投票、时间戳。
优先级字段将为 0 或 1,这意味着 1 被优先化而 0 不被优先化。 vote 将是 0 或 1,这意味着 1 被喜欢,0 不被喜欢。 时间戳包含您将子主题标记为优先的时间。
关于php - 在数据库表中只标记一个条目的可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38330822/