gpt4 book ai didi

MySQL-满足条件时添加具有默认值的新列

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

我有一个现有的请求表,我想在其中添加新列 request_type。我想在某个列不为空时将此列的默认值设置为 A,否则为 B。我编写了以下查询,该查询显示 MySQL 版本 5.7.9 的语法错误 -

alter table requests
add column request_type enum('A','B','C') collate utf8_unicode_ci not null default (case when userid is not null then 'A' else 'B' end)

最佳答案

MySQL 不支持DEFAULT 的表达式。

但是您可以对 GENERATED 列使用 MySQL 5.7 的新功能:http://mysqlserverteam.com/generated-columns-in-mysql-5-7-5/

如果您使用旧版本的 MySQL,则必须使用触发器来根据用户 ID 更新枚举列。

关于MySQL-满足条件时添加具有默认值的新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38312054/

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