实际情况是这样的,从外部读取数据,然后存入数据库,要求不能重复存入数据。

由于以前的系统里没有加唯一键,所以,就只有手动判断相同记录是否存在了.

case1.由于其中某个值存在为空情况,而存入时该值变成了系统默认值,因此,每次这个验证都是不通过的,因此,导致了重复运行则重复添加,解决:对于可能为空情况,应给出一个与系统默认值相同的值,对于整型字段查询,也要加上''进行查询,以防报错;

case2.由于外部数据中某字段长度较长,超过数据库长度,因此,每次存储时,总是被截取,而每次判断是否存在于数据库时,又被判定为不存在,导致重复添加。解决:方法一,扩大数据库字段长度以适应外部长度;方法二,不改变数据库长度,而在存储前进行字符截取以符合规定长度,注意中文截取问题;

case3.外部数据中有某个字段,大小写乱用,导致查询时出错,mysql不区分大小写,但是取出来进行比较时,语言本身又是区分大小写的,应当注意这个问题。解决:严格区分大小写。

最后,该加唯一索引的就早加唯一索引,越晚越麻烦,如有冲突,确认情况后该删除删除,从数据库本身现在,才是硬道理啊!

最新文章

  1. iOS 推送小记
  2. 微信APP支付Java后端回调处理
  3. HttpSession的线程安全问题及注意事项
  4. spring mvc 接收页面表单List
  5. 《ISCSI集中存储》RHEL6——CE
  6. hdu 2459 (后缀数组+RMQ)
  7. 【Hibernate】Remember that ordinal parameters are 1-based!
  8. C# 委托简单例子
  9. poj 1364 King(线性差分约束+超级源点+spfa判负环)
  10. 如何使用LaTeX让自己不乱?
  11. Linux基础命令---swapon
  12. apply和call用法
  13. jQuery绑定事件
  14. day7-python类反射
  15. Git回版本回退
  16. 【Spring事务的事务属性】
  17. CentOS6.5修改/etc/pam.d/sshd后root无法ssh登陆
  18. (转)linux expr命令参数及用法详解
  19. 训练指南 UVALive - 4287 (强连通分量+缩点)
  20. python多线程安全local()

热门文章

  1. Cuda9.2发布
  2. Delphi TXLSReadWriteII 导出EXCEL
  3. ELK6.0部署:Elasticsearch+Logstash+Kibana搭建分布式日志平台
  4. 2、python的变量
  5. 十五、Facade 窗口设计模式
  6. Quartz使用
  7. kafka 学习笔记
  8. Curator的监听
  9. tab页
  10. cmp指令