一.需求:根据月份分组,然后再根据月份排序 效果图 sql如下: SELECT ) number, date_format(created_at,'%c') date FROM ********* WHERE status AND is_enabled = 1GROUP BY date order by date 二.问题 根据月份分组后,date字段的值为String类型,不能用order by直接排序 三.解决 在date前面加上两个负号(--) 即可将类型转为int类型 四.问题解决 SE
最近在做项目的过程中发现了一个问题 数据库表 test 有个字段是 target_id int(11),这个字段可能为零 使用如下查询 select * from test where target_id = ''; select * from test where target_id = 'abcd'; 这样,所有target_id = 0 的结果都会出来,为什么? 查阅资料,这是类型转化导致的,在mysql中 0 意味着 任何字符串 其实不是mysql特有了,在php中有个intva
驱动程序:mysql-connector-java-5.1.7-bin.jar. 程序示例如下: package commonProject; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JavaForJdbc { public s
本文目的 这几天开发了一个PHP CLI程序,用于后台定时调度执行一些任务.此脚本采用了PHP的多进程(pcntl_fork),共享内存和信号量进行IPC和同步.目的是将串行的任 务并行执行,缩短执行时间.可是在工作子进程中,访问myql时一直报错,通过mysql_error返回的信息却是冷冷的一句话“MySQL server has gone away”.简单说一句自己挂掉了就完事,太不负责任了.经过仔细搜索,终于发现问题的原因,在此做个分享,也作为备忘. 什么导致“MySQL server