2011-01-02 13 views
0

私はSQL Server 2005でデータベースを使用してVisual Studio 2008を使用しています。 私はチャットオンラインアプリを作成しました。ユーザがオンラインになると、彼/彼女はチャットをすることができ、チャットデータはこのスキーマを有するメッセージデータベースに入る。データベース内の行を削除する

  1. メッセージID(PK)
  2. RoomID
  3. ユーザーID
  4. ToUserID
  5. テキスト

彼はのをログアウトし、 "ユーザーID" によって送られ メッセージチャットおしゃべりが終了した後またはそのUSerIDのメッセージテーブル内のチャットデータを削除する必要があります。

だから データベースから複数の行を一度に削除するとします。次のような

+0

これらの列を持つ表を意味します。 –

答えて

2

何かが役立つはずです:

DELETE FROM [YOUR TABLENAME] WHERE UserId = [UserID] 

注:あなたは、削除条件を指定することができた使用してDELETE文でwhere句を持つことができます。

3

まあ、これは私の最初の反応です。だから私はそれが正しいと思っています。

SQL言語でより多くの行を削除する通常の方法は次のとおりです。

delete from (table_name) where userID = (ID_of_the_user_that_signed_off) 
0

あなたは全客室で、すべてのユーザーと全体チャットセッションを削除する場合。 次のクエリを使用します。

DELETE FROM [TABLENAME] WHERE UserId = @UserID 

あなたは特定の部屋でチャットを削除したい場合は、あなたが部屋のIDを指定する必要がありますも

次のクエリを使用します。

DELETE FROM [TABLENAME] WHERE UserId = @UserID AND RoomID = @RoomID 

あなたは、特定のユーザーセッションでチャットを削除したい場合、あなたは次のクエリを使用しても

をチャット者のユーザーIDを指定する必要があります。

DELETE FROM [TABLENAME] WHERE UserId = @UserID AND ToUserID = @ToUserID 
関連する問題