gpt4 book ai didi

MySQL更新表以填充另一个表中的空值

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

我有一个表 codes,其中包含字段 id, code, issuedto, issuedtime,它预先填充了 code 中的项目,但它有issuedto, issuedtime 中的许多行都带有 NULL。我有另一个表 entrants,其中包含字段 id, status

我想为 winners 的每一行设置 codes.issuedto = winners.idstatus = 'won'

问题是我没有任何东西可以连接表——所以我最终得到了一个交叉连接,而这根本不是我想要的。我真正想要的是内部连接——但没有任何连接。有人有什么想法吗?

编辑:如果我在 SQL 之外执行此操作(我可能必须这样做?),伪代码将类似于:

rows = query("SELECT id FROM winners WHERE status='won'");
foreach (rows as r) {
query("UPDATE codes SET issusedto=" + r.id + ", issued=NOW() WHERE issuedto IS NULL LIMIT 1");
}

最佳答案

OP在这里。经过一些广泛的搜索和实验,我得出的结论是这不能在 SQL 中完成。我写了一个简短的脚本来为我完成这项工作,类似于问题中列出的伪代码。 ACID 合规性是通过事务实现的(如果这很重要,请检查您的 DBMS 以获取详细信息)。

关于MySQL更新表以填充另一个表中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7078993/

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