gpt4 book ai didi

Mysql 使用选择查询将数据插入新列

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

我有这样的表结构

id     start_date      during
1 2018-01-01 2
2 2018-01-02 3

然后我想使用我的查询添加一个名为 end_date 的新列

SELECT 'start_date' + INTERVAL ('during')day as 'end_date'

然后结果变成end_date

end_date
2018-01-03
2018-01-05

我想在我的表中添加一个名为 end_date 的新列,然后通过查询插入数据。在我的表中创建新列后,我执行了下面的查询以插入

INSERT INTO table_name(end_date) 
SELECT 'start_date' + INTERVAL ('during')day

但 table 会喜欢这样

id     start_date      during    end_date
1 2018-01-01 2 null
2 2018-01-02 3 null
3 null null 2018-01-03
4 null null 2018-01-05

最佳答案

首先,您需要向表中添加一个新列:

ALTER TABLE `table_name`.`new_table` 
ADD COLUMN `end_date` DATE NULL AFTER `during`;

然后你可以应用你的插入:

UPDATE table_name SET end_date = start_date + INTERVAL(during) DAY; 

但是如果 during 总是从 start_dateduring 定义,您可以创建一个虚拟列:

ALTER TABLE `table_name`.`new_table` 
ADD COLUMN `end_date` `end_date` DATE GENERATED ALWAYS AS (
start_date + INTERVAL(during) DAY) VIRTUAL ;

关于Mysql 使用选择查询将数据插入新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55046733/

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