MySQL长度、大小写验证问题[开发篇]
实际情况是这样的,从外部读取数据,然后存入数据库,要求不能重复存入数据。
由于以前的系统里没有加唯一键,所以,就只有手动判断相同记录是否存在了.
case1.由于其中某个值存在为空情况,而存入时该值变成了系统默认值,因此,每次这个验证都是不通过的,因此,导致了重复运行则重复添加,解决:对于可能为空情况,应给出一个与系统默认值相同的值,对于整型字段查询,也要加上''进行查询,以防报错;
case2.由于外部数据中某字段长度较长,超过数据库长度,因此,每次存储时,总是被截取,而每次判断是否存在于数据库时,又被判定为不存在,导致重复添加。解决:方法一,扩大数据库字段长度以适应外部长度;方法二,不改变数据库长度,而在存储前进行字符截取以符合规定长度,注意中文截取问题;
case3.外部数据中有某个字段,大小写乱用,导致查询时出错,mysql不区分大小写,但是取出来进行比较时,语言本身又是区分大小写的,应当注意这个问题。解决:严格区分大小写。
最后,该加唯一索引的就早加唯一索引,越晚越麻烦,如有冲突,确认情况后该删除删除,从数据库本身现在,才是硬道理啊!
MySQL长度、大小写验证问题[开发篇]的更多相关文章
- CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇
CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...
- (转)[jQuery]使用jQuery.Validate进行客户端验证(初级篇)——不使用微软验证控件的理由
以前在做项目的时候就有个很大心病,就是微软的验证控件,虽然微软的验证控件可以帮我们完成大部分的验证,验证也很可靠上手也很容易,但是我就是觉得不爽,主要理由有以下几点: 1.拖控件太麻烦,这个是微软控件 ...
- linux一句话问答(网络无关篇+网络相关篇+程序开发篇+经典图书)
一句话问答(网络无关篇+网络相关篇+程序开发篇+经典图书) --------------------------目录-网络无关篇-目录-------------------------- 0001 修 ...
- MySQL的初次见面礼基础实战篇
[版权申明] http://blog.csdn.net/javazejian/article/details/61614366 出自[zejian的博客] 关联文章: MySQL的初次见面礼基础实战篇 ...
- [jQuery]使用jQuery.Validate进行客户端验证(初级篇)
以前在做项目的时候就有个很大心病,就是微软的验证控件,虽然微软的验证控件可以帮我们完成大部分的验证,验证也很可靠上手也很容易,但是我就是觉得不爽,主要理由有以下几点: 1.拖控件太麻烦,这个是微软控件 ...
- Mysql数据库优化技术之配置篇、索引篇 ( 必看 必看 转)
转自:Mysql数据库优化技术之配置篇.索引篇 ( 必看 必看 ) (一)减少数据库访问对于可以静态化的页面,尽可能静态化对一个动态页面中可以静态的局部,采用静态化部分数据可以生成XML,或者文本文件 ...
- 通过扩展改善ASP.NET MVC的验证机制[使用篇]
原文:通过扩展改善ASP.NET MVC的验证机制[使用篇] ASP.NET MVC提供一种基于元数据的验证方式是我们可以将相应的验证特性应用到作为Model实体的类型或者属性/字段上,但是这依然具有 ...
- .NET Core实战项目之CMS 第十一章 开发篇-数据库生成及实体代码生成器开发
上篇给大家从零开始搭建了一个我们的ASP.NET Core CMS系统的开发框架,具体为什么那样设计我也已经在第十篇文章中进行了说明.不过文章发布后很多人都说了这样的分层不是很合理,什么数据库实体应该 ...
- Mac 配置教程-开发篇
将 Mac 日常使用的软件和开发软件区分开,将之前写的 Mac 配置的文章分成了两篇: Mac 配置教程-日常篇 Mac 配置教程-开发篇 图床 iPic 设置快捷键 Command+Shift+u ...
随机推荐
- 机器学习中的算法(2)-支持向量机(SVM)基础
版权声明:本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gma ...
- 使用jQuery+huandlebars遍历数组嵌套数组
兼容ie8(很实用,复制过来,仅供技术参考,更详细内容请看源地址:http://www.cnblogs.com/iyangyuan/archive/2013/12/12/3471227.html) & ...
- .Net 中读写Oracle数据库常用两种方式
.net中连接Oracle 的两种方式:OracleClient,OleDb转载 2015年04月24日 00:00:24 10820.Net 中读写Oracle数据库常用两种方式:OracleCli ...
- Vue watch的高级用法
<div> <p>FullName: {{fullName}}</p> <p>FirstName: <input type="text& ...
- cdnbest独立主控配置自定义错误页面
注:自定义错误的域名最好配置ssl,不配碰到有使用ssl的域名,错误码显示就会有问题 (1)登陆管理后台点区域列表-->配置-->错误url 解析一个域名到你的cdn主控,然后输入这个ur ...
- vw, vh视区覆盖和自适应图片
CSS .wrap{width:100vw;height:100vh;background: rgba(0,0,0,0.3);position: fixed;top:0;left:0;text-a ...
- python中assert详解
assert基础 官方解释:"Assert statements are a convenient way to insert debugging assertions into a pro ...
- convert 函数的使用
先说问题:今天项目中很多模块出现了一个集体性的问题,时间检索时选择同一天 检索不出数据(表中数据确实存在),其实这个问题在做东西的时候领导说过,记忆中我解决了,但是后来写代码可能把这个问题忘记了! 其 ...
- sublime text3 使用问题积累
1.安装完后,注册码:注意!要把下列内容完全拷贝过去,包含"-------BEGIN LICENSE------和------END LICENSE--------" ----- ...
- javascript 新建实例对象
在main js里面new 这样一个实例算怎么回事,如果不这么new, ToolBar里就会报错: Portal.gbl = { constants : new Portal.common.Const ...