Я работаю на веб-сайте, где пользователи могут размещать статьи с этой структурой таблицы:MySQL «любит» Структура таблицы
CREATE TABLE IF NOT EXISTS `articles` (
`id_articles` int(10) unsigned NOT NULL AUTO_INCREMENT,
`id_users` int(10) unsigned NOT NULL,
`articles` text NOT NULL,
PRIMARY KEY (`id_articles`),
UNIQUE KEY `id_articles` (`id_articles`),
KEY `id_users` (`id_users`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Каждый пользователь может «как» статьи.
Это правильный путь ниже, чтобы создать «как таблицу»:
CREATE TABLE IF NOT EXISTS `articles_likes` (
`id_articles` int(10) unsigned NOT NULL,
`id_users` int(10) unsigned NOT NULL,
KEY `id_articles` (`id_articles`,`id_users`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
да хорошо выглядит .. но я бы сделал сложный первичный ключ с 'id_articles' и' id_users', так что вам может понравиться только одна и та же статья. – bitWorking
Перед добавлением «like» я также могу проверить, находятся ли id_articles и id_users в этой таблице. – Chris
да, вы можете ... но вы никогда не знаете, как данные попадут в db в ближайшее время или позже (webservice и т. д.). И с первичным ключом вы можете быть уверены, что никогда не будет двойных записей. – bitWorking