需要解决的问题
在遇到需要修改线上数据的时候,有两种方式生成sql,第一种就是根据提供的需求来手动写SQL,审查,然后在测试环境跑一边确认无误,可以直接扔给运维去执行。
第二种方法就是直接在图形化工具上修改,然后提取修改的SQL,这样提取的只要核对一遍数据的修改是否正确即可扔给运维执行。
很明显第二种可以很方便、很准确的提取出所需要的SQL。
如何解决的简述
DataGrip就是可以按照上述第二种方式来给出所需要SQL的一个工具。
如何解决的详细描述
1 修改需要的数据
首选查询出,需要修改的数据,然后直接在table上修改,双击即可编辑,编辑过后的数据有蓝色背景标识。
2 更改复制模式
默认复制模式,只是复制当前数据,在Database Console 窗口的右侧,可以看到修改复制模式的位置“红色标记”,选择SQL Updates 即可。
3 复制一定要两列起
单独一个字段的复制,系统会默认复制当前字段的值,只有两个字段一起复制,才可以按照“复制模式”来复制出需要的数据,比如这次我修改的是字段“auto_repayment”但复制的是还需要增加随便一列,我选择的是“all_rate”
结果
1 | UPDATE p2p.p2p_p2pproduct SET all_rate = 14.4, auto_repayment = 2 WHERE id = 1369; |