Ich würde eine Nachschlagetabelle für die Nachrichten verwenden, die speichern würde, wer die Rechte hat, diese Nachricht anzuzeigen
table->message | table->messageUsers
id->0, message->'hi', user_id->1 user_id->1, message_id->0
user_id->2, message_id->0
Wenn ein Benutzer seine Nachricht löscht, löscht er auf diese Weise eigentlich nur seine Beziehung zu der Nachricht, nicht die Nachricht selbst. Sie entfernen sie einfach aus der messageUsers-Tabelle. oder ein aktives Feld auf 1 oder 0 setzen.