You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Spanner中使用GoogleSql创建大小写不敏感唯一约束

大小写不敏感的唯一约束实现方法

直接在唯一约束中使用lower()这类函数的语法在多数数据库中不被支持,你可以根据使用的数据库选择以下方案:

PostgreSQL

创建基于小写转换的唯一索引即可实现需求:

CREATE UNIQUE INDEX user_name_lower_unique ON test_table_user (lower(user_name));

MySQL

方案一:使用生成列(MySQL 5.7及以上版本)

先添加存储型生成列,再为该列添加唯一约束:

ALTER TABLE test_table_user ADD COLUMN user_name_lower VARCHAR(255) GENERATED ALWAYS AS (LOWER(user_name)) STORED;
ALTER TABLE test_table_user ADD CONSTRAINT user_name_unique UNIQUE (user_name_lower);

方案二:创建唯一函数索引

直接创建基于LOWER(user_name)的唯一索引:

CREATE UNIQUE INDEX user_name_lower_unique ON test_table_user ((LOWER(user_name)));

SQL Server

方案一:计算列+唯一约束

先添加计算列,再绑定唯一约束:

ALTER TABLE test_table_user ADD user_name_lower AS LOWER(user_name);
ALTER TABLE test_table_user ADD CONSTRAINT user_name_unique UNIQUE (user_name_lower);

方案二:创建唯一索引

直接基于函数结果创建唯一索引:

CREATE UNIQUE INDEX user_name_lower_unique ON test_table_user (LOWER(user_name));

内容的提问来源于stack exchange,提问作者Deepak Mani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 20:14:54