Skip to content
zhangjie edited this page Aug 2, 2020 · 6 revisions

MySQL常见问题积累

查询不存在的条件

  1. 例如SELECT mail_no FROM test WHERE mail_no IN ('3370247156375','1111') 找出'3370247156375','1111'中不存在的条件
    1.1 创建临时表:CREATE TEMPORARY TABLE xxx
    1.2 将'3370247156375','1111'存入临时表
    1.3 SELECT t.mail_no FROM (SELECT mail_no FROM t_oper_waybill WHERE mail_no IN ('3370247156375','1111')) t WHERE t.mail_no IN ('3370247156375','1111');
  2. 关于临时表知识点补充
    2.1 临时表将在你连接MySQL期间存在。当你断开时,MySQL将自动删除表并释放所用的空间

批量更新值(待更新的值不一样)

  1. 例如test表length、width、height字段的值已经置为Null,现在想还原(原本值备份在EXCEL)
    2.1 创建表(储存备份值):test_bak
    2.2 联表更新:update test o inner join test_bak oo on o.id = oo.id set o.length=oo.length,o.width=oo.width,o.height=oo.height where o.mail_no in( select mail_no from test_bak)

Clone this wiki locally