gpt4 book ai didi

mysql - 如果一条数据记录不存在,则将其存储到另一个表中

转载 作者:行者123 更新时间:2023-11-30 22:20:23 26 4
gpt4 key购买 nike

我正在寻找执行以下操作的 SQL 代码:

  1. SELECT * FROM fzs_contest WHERE answer = 'D' order by rand() limit 1;
  2. 将上述代码的结果存入fzs_contest_winners表(不存在则创建)
  3. 如果数据记录已存在于表 fzs_contest_winners 中,重复第 1 行,直到它是唯一的。

仅使用 SQL 可能吗?

最佳答案

第一次就获得有效的获胜者怎么样?

insert into fzs_contest_winners ( . . .)
select . . .
from fzs_contest c
where answer = 'D' and
not exists (select 1 from fzs_context_winners cw where cw.?? = c.??)
order by rand()
limit 1;

?? 用于将某人标识为在两个表中相同的列。

注意:如果两个线程同时运行,这种类型的查询可能选择同一个获胜者两次。但是,在我看来,您一次选择多个获胜者似乎不太可能。此外,您应该通过使用唯一索引来保证一个人在表中只出现一次。

关于mysql - 如果一条数据记录不存在,则将其存储到另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36769668/

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