gpt4 book ai didi

具有动态列名的 MySQL 查询

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

我有一个包含这些列的源表:

enter image description here

我也有一个这样的目标表:

enter image description here

目标表有 1440 行,并填充了分钟列(一天中的每一分钟一行)。

对于源表中的每一行,我需要在 StartTime 和 FinishTime 之间的每一分钟为相应的 channel (总共有 10 个 channel )在目标表中填写一个“1”。

我只是在 MySQL Workbench 中执行此操作(这是一次性查询)。我的野兽方法是什么?

谢谢,

-斯科特

最佳答案

伪代码:

SELECT DISTINCT ChannelNumber
FROM source

while ($row = fetch_assoc()) {
$channel_col = 'ch'.$row['ChannelNumber']
$sql = "
UPDATE destination
JOIN source ON StartTime = destination.minutes
AND source.ChannelNumber = $row[ChannelNumber]
SET destination.$channel_col = 1
";
query($sql);
}

通常你必须关心动态创建一个字符串,它成为一个 SQL 查询以避免 SQL 注入(inject),但由于所有数据都来自你的数据库,所以这应该不是问题。

关于具有动态列名的 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29239744/

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