Saya pikir Anda dapat menyimpan struktur tabel Anda saat ini untuk konten pesan. Daripada menambahkan kolom terpisah atau bendera yang dihapus, Anda sebaiknya memiliki tabel terpisah untuk kotak surat.
Jadi tabel mbox Anda saat ini:
id message sentby sentto created
Kemudian tabel lain untuk kotak surat_pengguna
id user mailbox message_id
Anda harus melakukan tiga penyisipan total saat menulis pesan, satu ke tabel pesan, untuk setiap pengguna di tabel user_mailboxes.
Jadi data mbox Anda terlihat seperti ini:
id message sentby sentto created
1 Hi There UserA UserB 2015-01-26
2 Hello Back UserB UserA 2015-01-26
Dan data user_mailboxes akan terlihat seperti ini:
id user mailbox message_id
1 UserA Out 1
2 UserB In 1
3 UserB Out 2
4 UserA In 2
Ini memungkinkan Anda untuk menghapus baris individual untuk tabel user_mailboxes. Ini juga akan memungkinkan pengaya di masa mendatang dengan memungkinkan Anda mengirim pesan ke beberapa pengguna secara bersamaan (Baris baru untuk setiap pengguna), dan memungkinkan Anda untuk menambahkan lebih dari satu kotak surat jika diperlukan (Masuk, Keluar, Sampah, Penting , dll).
Untuk mencari email untuk pengguna untuk kotak surat tertentu, Anda cukup menggunakan bergabung
SELECT * FROM user_mailboxes LEFT JOIN mbox ON mbox.id = user_mailboxes.message_id WHERE user_mailboxes.user = "$user" AND user_mailboxes.mailbox = "Out";
Anda memerlukan skrip pembersihan saat Anda menghapus untuk memastikan tidak ada pesan yatim piatu yang tidak ada di tabel user_mailboxes.