检查用户是否已发布MySQL和MySQL中的特定帖子PHP

时间:2016-05-10 10:36:00

标签: php mysql

我有一个小社交网络应用程序,用户有能力喜欢'其他人发布的帖子。

我可以轻松地记录喜欢的内容,但我想每个用户只能插入一次。目前,同一个用户可以喜欢'同样的帖子一遍又一遍。

我如何使用MySQL实现这一目标?如果可能的话,我宁愿在一个陈述中这样做。

这是我当前的INSERT语句

(?<!content=")(?<!content="https:)(?<!content="http:)((https?:)?(//website.com))

所以基本上,我需要检查该用户是否已经在app_likes表中有一个针对该post_id的条目。

有意义吗?

1 个答案:

答案 0 :(得分:0)

使用WHERE NOT EXISTS条件

INSERT INTO app_likes (user_id, post_id)
SELECT * FROM (SELECT $user_id, $post_id) AS tmp
WHERE NOT EXISTS (
     SELECT user_id, post_id FROM app_likes WHERE user_id = $user_id AND post_id = $post_id
) LIMIT 1;