我有一个小社交网络应用程序,用户有能力喜欢'其他人发布的帖子。
我可以轻松地记录喜欢的内容,但我想每个用户只能插入一次。目前,同一个用户可以喜欢'同样的帖子一遍又一遍。
我如何使用MySQL实现这一目标?如果可能的话,我宁愿在一个陈述中这样做。
这是我当前的INSERT语句
(?<!content=")(?<!content="https:)(?<!content="http:)((https?:)?(//website.com))
所以基本上,我需要检查该用户是否已经在app_likes表中有一个针对该post_id的条目。
有意义吗?
答案 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;