MySql 杂记

 

 

1:声明一个int变量时,设置它默认为0,而不是空或null。

  int 型,取值范围-2,147,483,648 到 2,147,483,647 ,默认值是 0
  int是值类型,读内存区间中指定长度单元里的数据,这块单元就算不做任何处理也全是0,那么数值就是0
  所以,int 型,永远不会为空,从声明一个 int 变量时,它默认就是0,而不是空


2 : 判断未知时间段,是否与已知的时间段有重合的判断逻辑

  只需要3个判断条件即可:
  已知时间段的开始时间为:已知-starttime,结束时间为:已知-endtime
  未知时间段的开始时间为:未知-starttime,结束时间为:未知-endtime
         * 条件1:[已知-starttime] <= [未知-starttime] <= [已知-endtime]    or
         * 条件2:[已知-starttime] <= [未知-endtime  ] <= [已知-endtime]    or
         * 条件3:[未知-starttime] <= [已知-starttime] <= [已知-endtime] <= [未知-endtime]
         * 即:如果满足上面3个条件的其中一个,则[已知时间段] 与 [未知时间段] 就有重合。
 
 ————————————————————————————————————
 3、怎么查看数据库表中某个字段的值有哪些重复记录
select * from product where name in (select name from product group by name having COUNT(*)>1)

 

4、mysql导入大批量数据出现MySQL server has gone away的解决方法

     http://blog.csdn.net/fdipzone/article/details/51974165

  查看资料,发现了 max_allowed_packet 参数,
       官方解释是适当增大 max_allowed_packet 参数可以使client端到server端传递大数据时,系统能够分配更多的扩展内存来处理。

  查看mysql max_allowed_packet的值:

         mysql> show global variables like 'max_allowed_packet';

       可以看到是4M,然后调大为256M(1024*1024*256):

    mysql> set global max_allowed_packet=268435456;

 

 

 

 

 

 
posted @ 2016-08-04 09:15  王宇walkOn  阅读(155)  评论(0编辑  收藏  举报