美文网首页
工程技巧(sql、查bug)

工程技巧(sql、查bug)

作者: 榷奕 | 来源:发表于2019-09-27 16:07 被阅读0次

1. 场景1:表里面的一个字段替换成自己自定义的

(1) 首先要用count(* ) 来造一个num出来,也就是count(* ) ... as xxx ,又由于数据库里面已经存在了一个这样的xxx了,

现在的需求是用这个新造出来的把原来的替换掉,所以select count(*) , PpcpatientInfo. *,语句就要这么写。

也就是自己创造出来的这个xxx要在select * 之前,然后应该是根据Mybatis的赋值规则,先来后到,先搜索出来的这个就把后面的盖掉了。

(2) 使用as xxx可以把名字换掉。换名字这个,一定要换成数据库里面那种风格的,大写,加下划线的那种风格,直接就用要被替换掉的字段的名字,确保一模一样(也就是不要用java实体类字段的名字)。

2. 多表操作

(1) 只要涉及到多表操作,一定要用联结join
(2) insert不存在多表操作,如果要好几张表同时插入,那还真的要写很多条insert,没得商量。
(3) delete可以多表操作,
delete from table1 inner join table2 where table1.xxx = xxx and table2.xxx = xxx
这里把多表一联结然后那个表有什么限制写清楚就行了。
(4) update也可以多表同时更新,
update table1,table2 set table1.xxx = xxx , table2.xxx = xxx
都可以把两个表轻松分开,然后写明白每个表对应的限制条件什么,以及更新哪个表的那些字段。

例:

delete q1 , q2 , q3 , q4 , q5 , q6
from Q_BySysptom as q1
left OUTER join Qaestionnaires as q2 on q1.Questionnaire_ID = q2.Questionnaire_ID
left OUTER join Qanswers as q3 on q1.Questionnaire_ID = q3.Questionnaire_ID
left OUTER join questionnaire_description as q4 on q1.Questionnaire_ID = q4.Questionnaire_ID
left OUTER join Questionnaire_Record as q5 on q1.Questionnaire_ID = q5.Questionnaire_ID
left OUTER join questions as q6 on q1.Questionnaire_ID = q6.Questionnaire_ID
where q1.Questionnaire_ID = #{questionnaireId};

3. 报错500

这个错误是代码内部错误,最简单的是数据类型什么的没处理好,多半问题出在靠近DAO层那附近。如果是数据库那里报的500,插入或者更新出了问题,很有可能是主键冲突(插入的问题)。

4. 视图

多表操作的时候,select逻辑改用视图来做。

5. 更改字段数据类型

首先一般都是要把这个字段所有的值清空,如果不清空的话那些""值就很麻烦。
清空之后转型,然后随便赋个初值。
目前出生日期和age之间的转换目前只会用sql来转换不会用数据库。

相关文章

  • 工程技巧(sql、查bug)

    1. 场景1:表里面的一个字段替换成自己自定义的 (1) 首先要用count(* ) 来造一个num出来,也就是c...

  • SQL Join 操作的几种连接方式

    开始工作了…还是很频繁地要用到sql…中午因为变量名重复的问题查了好久的bug,顺便在尝试bug的路上深刻怀疑了自...

  • 2020-01-02

    今日总结: 代码为什么还是那么多bug,为什么? 不就是几张表的,增,删,改,查?不就是,要写自定义sql?,到底...

  • 四、BaseDao基础

    重写代码遇到的bug:示例代码如下: bug1:java.sql.SQLException: Operation ...

  • 分析一个执行时间很长的sql

    背景 在查bug时发现有两个相似sql查询速度相差巨大: 区别仅在于 category 一个是43,一个是8。(后...

  • sql 练习(四)

    环境是mysql 练习数据见SQL:练习的前期准备 sql 练习(一)sql 练习(二)sql 练习(三)31、查...

  • java.sql.SQLSyntaxErrorException

    bug异常主要信息如下:java.sql.SQLSyntaxErrorException: ORA-01722: ...

  • SQL知识速览以及学习书籍和网站推荐

    一、知识速览 1. SQL入门 2. SQL查询 3. SQL聚合与排序 4. SQL数据更新 5. SQL复杂查...

  • Python查SQL

    此部分是《Python接SQL-极简》中5、6、7部分的详述。核心流程:连接数据库——写SQL语句——调用curs...

  • 查重SQL

网友评论

      本文标题:工程技巧(sql、查bug)

      本文链接:https://www.haomeiwen.com/subject/pikauctx.html