Tu pourrais faire comme suit :
Ajouter deux champs dans la table :
- is_visible_sender ( TINYINT(1) | DEFAULT 1 )
- is_visible_receiver ( TINYINT(1) | DEFAULT 1 )
Si l'un des deux "supprime" (cache en faites) tu passe le champs correspondant à 0
UPDATE ` NOM DE TA TABLE ]`
SET is_visible_ EST-CE L'EXPEDITEUR OU LE RECEVEUR ? ] = 0
WHERE id = QUEL MESSAGE ? ]
Et lorsque tu récupérer les messages des deux types de personnes, tu recupere uniquement les messages "visible" pour cette personne
SELECT *
FROM ` NOM DE TA TABLE ]`
WHERE `is_visible_ EST-CE L'EXPEDITEUR OU LE RECEVEUR ? ]` = 1
Cela a deux utilités :
-
Non seulement ça fait ce que tu souhaites faire =P
-
Tu as toujours la backup du message, meme si supprimé par les deux
Maintenant si tu souhaites supprimer vraiment le message si par exemple le sender le supprime, tu enlevé le champs "is_visible_sender"
et lorsque celui-ci "supprime", tu supprime vraiment avec un DELETE.