Потому что лайки - это не просто int счетчик в таблице статей, это отдельная таблица вида
user_id | article_id | еще какие-то поля, вроде логов или еще что-то надо
Первичным индексом у этой таблицы будет 2 поля - user_id и article_id
И уже сама база не позволит одному юзеру поставить лайк 2 раза на 1 статью