Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana menyusun database untuk peringatan item yang belum dibaca per pengguna

Saat meninjau skema yang relevan untuk phpBB , saya menemukan yang berikut:

# 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`;

Dan:

# 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`;

Lalu saya lihat di sini di wiki mereka :

Jadi pada dasarnya mereka memiliki tabel pencarian untuk menyimpan data yang terkait dengan tampilan topik (utas) oleh pengguna, dan kemudian memeriksanya dengan stempel waktu di tabel tampilan forum, untuk menentukan apakah topik telah dilihat oleh pengguna.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Server MySQL telah hilang saat mengimpor file sql besar

  2. mysql - memindahkan baris dari satu tabel ke tabel lainnya

  3. Kelompokkan demi klausa di mySQL dan postgreSQL, mengapa kesalahan di postgreSQL?

  4. Perbarui menggunakan pernyataan PDO

  5. C# MySQL DataReader kedua di DataReader while loop