Liny_@NotePad

沉迷ACG中

MySQL启动提示error:0,管理工具里面启动服务提示1067。。

360顽固木马专杀。。。。把my.ini隔离了。。泪。。。

重启后无效,把data之外的文件全干掉重装mysql,报错。。

最后百度到查data目录下的.err文件,看到一句“[ERROR] Default storage engine (InnoDB) is not available”,

继续百度将得到两种方案:

  • 打开MySQL Server 5.0下的my.ini文件,修改default-storage-engine=InnoDB 为default-storage-engine=MyISAM
  • [ERROR] Default storage engine (InnoDB) is not available出现的原因是:设置过的表空间ibdata1文件在Mysql第一次启动时候已经创建,大小为设置的10M,一但新设定的 ibdata1 的大小不一致,就会出现问题。所有直接删除\MySQL Server 5.0\data下的ib_logfile0,ib_logfile1,ibdata1文件。

尝试方案一失败,方案二成功 - -!

但是,表空间已经被干掉了。。。。。。。。。。。。。。。。。。于是干脆全部删了吧

MySQL: Unknown type '246 in binary-encoded result set.

在执行SUM函数时报错,COUNT函数却可以正常使用。

百度了下,说是MYSQL5在decimal类型上有BUG,需要改成int。可是我明明就是用int…… = =

又说jar包版本太低,于是将3.2.0的换成5.0.8的,导入一堆jar包。结果运行起来PreparedStatement的asSql方法报空指针。

换成5.0.6的jar包,终于正常了啊 T O T

MySQL curDate() + 7..

原来不会那么智能。。比如今天是"20091027",这个执行的结果会是"20091034",

插入数据库就报了Incorrect datetime value错误。。

正确写法应该使用date_add函数:date_add(curdate(), interval 7 day) ,笔记之。

MySQLSyntaxErrorException: This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

同学的一个项目。。之前的数据库是MSSQL的,满目的top在子查询语句中,于是照猫画虎,把top和pageSize放到后面改成limit,发现报错。

这个错误的意思是,该版本的MySQL不支持LIMIT在IN/ALL/ANY/SOME的子句中。

其实 = = limit函数已经很好用了。。比如原来的MSSQL用的拼接语句是

  1.                 sqlStr = "select top " + pageSize + " * from IndentInfo";
  2.                 if (page == 1)
  3.                 {
  4.                         sqlStr = sqlStr + " order by Id desc";
  5.                 }else {
  6.                         sqlStr = sqlStr + " where Id not in ( select top " + (recordCount-pageSize * page ) + " Id from IndentInfo order by Id
  7. ) and Id in " +
  8.                         "(select  top " + (recordCount - pageSize * (page-1)) + " Id from IndentInfo  order by Id) " + " order by Id desc";
  9.                 }

改为MySQL用的拼接语句则可以是:

  1.                 sqlStr = "select * from IndentInfo";
  2.                 if (page == 1)
  3.                 {
  4.                         sqlStr = sqlStr + " order by Id desc limit " + pageSize;
  5.                 }else {
  6.                         sqlStr = sqlStr + " order by Id desc limit " + (recordCount - pageSize * (page-1)) + ", " + pageSize;
  7.                 }

limit中的参数如果只有1个,则表示页面大小;如果有2个,则第一个参数为起始记录,第二个参数为页面大小。

使用MySQL++提示找不到mysql_version.h

= _ = 在mysql的include目录下找到了。

可以直接拷过去,但貌似还需要其他文件,

因此可以将mysql的include目录设为附加包含目录。

Excel2Mysql制作ing..(1)

好懒 = = ……边红心大战边校内边找茬做了许久,才做了一个界面……至于事件什么时候写……再说了……

放截图出来自己陶醉下……