我想根据另一列设置默认列值并向其添加 114 天

I want to set a default column value based on another column and add 114 days to it

我试过这个:

ALTER TABLE búgatás 
    ADD malacozás_ideje AS DATEADD(DAY, 114, Dátum);

我希望 'malacozás_ideje' 列的值与 Dátum + 114 天相同。这可能吗?

您可以改用计算列:

ALTER TABLE búgatás ADD malacozás_ideje DATETIME AS (Dátum + INTERVAL 114 DAY);

这为您提供了一个虚拟列,其值由计算规则定义。

另一方面,如果您要创建一个新列并为其分配新值,您可以稍后修改:

ALTER TABLE búgatás ADD malacozás_ideje DATETIME;
UPDATE búgatás SET malacozás_ideje  = Dátum + INTERVAL 114 DAY;

如果您想要在 MySQL 中生成列:

ALTER TABLE búgatás ADD malacozás_ideje date
    generated always as (Dátum + interval 114 day);

如果你只想初始化它:

ALTER TABLE búgatás ADD malacozás_ideje date;

UPDATE búgatás
    SET malacozás_ideje date = (Dátum + interval 114 day);

您似乎在寻找一个默认计算的计算列,但您使用的语法是 SQl ServerMySQl

您需要以下内容
ALTER TABLE búgatás ADD malacozás_ideje GENERATED ALWAYS AS DATE_ADD(Dátum, INTERVAL 114 DAYS);