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;