gpt4 book ai didi

mysql - 为一组 FK 设置 bool 值

转载 作者:行者123 更新时间:2023-11-29 12:35:33 27 4
gpt4 key购买 nike

在我的表中,我有一个 PK、一个 FK、一个数字和一个标志,如下所示:

tableID | PK of table
refID | FK to another table
phoneNo | Phone number
default | Flag for default number

数据示例:

tableID|refID|phoneNo|default
-------+-----+-------+-------
1 |23 |1234567|0
2 |23 |4987546|0
3 |23 |6576546|1
4 |24 |3289832|0
5 |24 |5225454|0
6 |24 |9126386|0
7 |25 |3287293|1

如您所见,ID 23 和 25 有默认电话号码,但 ID 24 没有。

我想写一些东西来检查 refID 是否有默认号码。
如果没有默认号码,请将第一个号码设为默认号码(在本例中,tableID 4 将成为默认号码)。

该查询会是什么样子?

最佳答案

我想这就是你想要的:

UPDATE table1
INNER JOIN (
SELECT MIN(tableID) AS tableID
FROM table1
WHERE refID NOT IN (SELECT refID FROM table1 WHERE `default` = 1)
) AS minrows ON table1.tableID = minrows.tableID
SET table1.`default` = 1;

这将为尚未包含 default=1 的行的每个 RefID 的第一行设置default=1

Sample SQL Fiddle

关于mysql - 为一组 FK 设置 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26834943/

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