gpt4 book ai didi

mysql - 重复行 MySQL

转载 作者:行者123 更新时间:2023-11-29 02:25:04 27 4
gpt4 key购买 nike

嘿,我正在使用这样的查询:

INSERT INTO likes( 
likes_memory_id,
likes_comment_id,
likes_owner_id,
likes_like
) VALUES (
:likes_memory_id,
:likes_comment_id,
:likes_owner_id,
:likes_like)

每当用户单击“赞”按钮时,此查询都会添加一个新行。所以这个查询允许多次点赞。为了防止这种情况,我可能会使用 select 语句,我可能会在两个查询中成功,但我保证有更好的方法来做到这一点。 (我对 if not exists 语句进行了研究,但我不太了解)如何避免多次点赞?

最佳答案

最简单的是在您想要唯一的列上创建一个唯一索引;

CREATE UNIQUE INDEX uq_mem_own ON likes(
likes_memory_id, likes_owner_id
);

...并使用 INSERT IGNORE 插入 likes,如果索引未阻止该值,它将插入该值,否则忽略它;

INSERT IGNORE INTO likes( 
likes_memory_id,
likes_owner_id,
likes_like
) VALUES (
:likes_memory_id,
:likes_owner_id,
:likes_like)

关于mysql - 重复行 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23967252/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com