如何避免重复输入而不区分大小写?
如果有人在数据库中输入“Blue”和“Blue”,我不会插入新输入以避免重复。
但是,如果有人输入“BlUe”,我检查输入是否已存在的查询将返回false并插入。
如果不应用严格格式化,即:将每个单词的首字母大写并小写其余单词,是否有更好的方法可以执行此操作?
答案 0 :(得分:3)
在列定义中添加collate nocase
答案 1 :(得分:1)
通常这项工作是从双方完成的:在将值传递给数据库之前使用大写,而在sql中也使用TO_UPPERCASE。
答案 2 :(得分:0)
尝试使用where子句。其中UPPER('BLUe') = UPPER(colValue)
答案 3 :(得分:0)
在这种情况下,我会在一个案例(可能更低)中将值存储在数据库中,并且您是否比较不区分大小写。对于显示,您只需在用户输入时保存显示值(保持大小写混合),或者您可以根据需要进行格式化。