sql >> Database teknologi >  >> RDS >> Mysql

Sådan struktureres databasen for ulæste elementadvarsler pr. bruger

Mens du gennemgår det relevante skema for phpBB , jeg fandt følgende:

# Table: 'phpbb_topics_track'
CREATE TABLE phpbb_topics_track (
    user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
    topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
    forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
    mark_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
    PRIMARY KEY (user_id, topic_id),
    KEY topic_id (topic_id),
    KEY forum_id (forum_id)
) CHARACTER SET `utf8` COLLATE `utf8_bin`;

Og:

# Table: 'phpbb_forums_track'
CREATE TABLE phpbb_forums_track (
    user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
    forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
    mark_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
    PRIMARY KEY (user_id, forum_id)
) CHARACTER SET `utf8` COLLATE `utf8_bin`;

kikker jeg her i deres wiki :

Så i det væsentlige har de en opslagstabel til at gemme de data, der er forbundet med en brugers visning af et emne (tråd), og derefter kontrollere det mod tidsstemplet i forumvisningstabellen for at afgøre, om emnet er blevet set af brugeren.



  1. MyBatis RowBounds begrænser ikke forespørgselsresultater

  2. Find linjeskift og vognretur (\r\n) i MySQL

  3. Rådgivende låse eller NOWAIT for at undgå at vente på låste rækker?

  4. localhost vs. 127.0.0.1 i mysql_connect()