【发布时间】:2020-12-28 16:19:33
【问题描述】:
我有一个现有的列 host,并希望确保始终将列值 host 添加到 Uppercase 中。
我正在使用Alter Table 命令如下:
ALTER TABLE `mydb`.`myTable`
CHANGE COLUMN `host` `host`
VARCHAR(255) GENERATED ALWAYS AS (UPPER()) STORED;
这会导致错误,我无法更改该列。
操作失败:将 SQL 脚本应用到数据库时出错。 ERROR 1582:调用本机函数“UPPER”时的参数计数不正确 SQL 语句: 更改表
mydb.myTable更改列hosthostVARCHAR(255) 始终作为 (UPPER()) 虚拟生成
我想确保在host 中插入的值始终在uppercase 中。
我想通过在运行时更新uppercase 中的值来实现这一点。
我不想添加任何constraint,因为在lowercase 中输入host 值时会导致错误。
【问题讨论】:
-
有关系吗?
-
添加一个触发器,其中 UPPERs
-
我想确保在
host中插入的值始终在uppercase中。我想通过在运行时更新uppercase中的值来实现这一点。我不想添加任何constraint,因为在lowercase中输入host值时会导致错误。 -
你看我的评论了吗?
标签: mysql sql calculated-columns alter-table