2009-06-02 24 views
1

コメントのフラグをSQLデータベースに保存する最も良い方法は?コメントはページ(mediaId)に投稿され、各コメントは子供を持つことができ、コメントはページを所有している人や司会者によって隠されることがあります。誰でもコメントにフラグを付けることができますが、カテゴリは1つだけです。SQLデータベースにコメントフラグを保存する最も良い方法は?

コメントにX個のフラグが付いたら、モデレータの注意を引きます。司会者がそれがうまくいくと分かった場合、彼はフラグをクリアすることはできませんが、何かをしてX量が彼の注意を引くようにするべきです。

enum FlagComment { none, offensive, spam, other, }; 

    command.CommandText = 
     "CREATE TABLE if not media_comment(" + 
     "id INTEGER PRIMARY KEY, " + 
     "mediaId INTEGER, " + 
     "parentId INTEGER, " + 
     "author INTEGER, " + 
     "date  DATE, " + 
     "text  TEXT, " + 
     "hidden INTEGER);"; 
    command.ExecuteNonQuery(); 

    command.CommandText = 
     "CREATE TABLE if not media_comment(" + 
     "commentId INTEGER, " + 
     "userId INTEGER, " + 
     "flagType INTEGER); "; 
    command.ExecuteNonQuery(); 

    command.CommandText = 
     "CREATE TABLE if not media_comment_mod_clear(" + 
     "commentId INTEGER, " + 
     "modId INTEGER, " + 
     "action INTEGER, " + //action is delete or ignore 
     "flagAmount INTEGER); "; //amount of ppl who flagged before mod took action 
    command.ExecuteNonQuery(); 
+0

このC#は使用していますか? –

答えて

1

私はflagAmountが正しい方法であるかどうかわかりません。

すべての行にフラグID、コメントID、フラグタイプなどがあるフラグテーブルを持つ方がよい場合があります。次に、SQLでコメントの数を数えることができますが、フラグごとの情報(タイプなど)。

+0

同じ人が複数のフラグを作成できないようにフラグを設定した人のuser_idを格納する必要があります。 –

関連する問題