Я пытаюсь создать единую таблицу для личных сообщений на веб-сайте. Я создал следующую таблицу, которая, на мой взгляд, эффективна, но мне очень хотелось бы получить отзывы.
CREATE TABLE IF NOT EXISTS `pm` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`to` int(11) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`subject` varchar(255) DEFAULT NULL,
`message` text NOT NULL,
`read` tinyint(1) NOT NULL DEFAULT '0',
`deleted` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
FOREIGN KEY (user_id) REFERENCES User(user_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
У меня есть 2 столбца, которые определяют статус сообщения: прочитано
и удалено
Если read = 1
, сообщение было прочитано получателем. Если deleted = 1
, отправитель или получатель удалили сообщение из отправленного или полученного почтового ящика. Если deleted = 2
, оба пользователя удалили сообщение, поэтому удалите строку из таблицы базы данных.