随笔分类 -  mysql

摘要:我们在写数据库程序的时候,经常会需要获取某个表中的最大序号数,一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的。但在多线程情况下,就不行了。下面介绍三种方法(1)getGeneratedKeys()方法:程序片断:Connection conn = ;Serializable ret = null; PreparedStatement state = .;ResultSet rs=null; try { state.executeUpdate(); rs = state.getGeneratedKeys(); if (rs.next()) .. 阅读全文
posted @ 2013-05-29 11:15 byfei 阅读(517) 评论(0) 推荐(0) 编辑
摘要:1.一条语句查多个字段逗号隔开SELECT ItemList,MoneyList,MailID from mail WHERE RoleGUID=100001392.倒叙查询结果SELECT ItemList,MoneyList,MailID from mail WHERE RoleGUID=10000139 order by MailID desc3.lua 语句local sqlText = string.format( "UPDATE mail SET MoneyList = %s ItemList = %s", BaseFuc.serialize(MoneyList 阅读全文
posted @ 2013-05-24 09:31 byfei 阅读(155) 评论(0) 推荐(0) 编辑
摘要:mysql_fetch_row是用来获取数组记录中每个字段的值mysql_num_rows是用来判断数组中一共有多少条记录判断数组是否为空时用mysql_num_rows比较,mysql_fetch_rows可能会出现覆盖记录 阅读全文
posted @ 2013-01-19 12:37 byfei 阅读(171) 评论(0) 推荐(0) 编辑
摘要:#define SQL_QUERY_SUPE_BOSS_DATA"SELECT `id`,`species_id`,`hp` FROM `boss` "#define SQL_INSERT_SUPE_BOSS_DATA"INSERT INTO `boss`(`species_id`,`id`,`hp`) VALUES (%d,%d,%d)"#define SQL_SELETE_SUPE_BOSS_DATA "DELETE FROM `boss` WHERE `species_id`=%d AND `id`=%d"#define SQL 阅读全文
posted @ 2012-07-03 17:01 byfei 阅读(179) 评论(0) 推荐(0) 编辑
摘要:USE aidigame_data63;select * from role_data where role_name LIKE "%查询我"; 阅读全文
posted @ 2012-01-02 21:57 byfei 阅读(129) 评论(0) 推荐(0) 编辑
摘要:blob数据:3132332C31332C302C362C302C312C392C342C352C32302C342C31312C31302C302C#include <fstream> #include <iostream> #include <stdlib.h> using namespace std;void main() { FILE *pt; if((pt=fopen( "d:\\test2.txt ", "a+ "))==NULL) { cout << "erro " < 阅读全文
posted @ 2011-11-05 17:06 byfei 阅读(783) 评论(0) 推荐(0) 编辑
摘要:#include "db_mysql.h"class CProperty{public:CMysql m_Mysql;}void CProperty::Init(){net::AddressStr strAddr = Pogo::NarrowToWide(g_pGateConfig->szListenAddr);int nMaxcon = g_pGateConfig->nMaxCon;bool bFlag = m_Server.Init(strAddr,nMaxcon);//if(!bFlag){return ;}/*if(!m_wdList.Start(add 阅读全文
posted @ 2011-11-04 17:29 byfei 阅读(111) 评论(0) 推荐(0) 编辑
摘要:打包const std::string CDBObjectManager::GetDetails(){std::string str;if(GetElementCount()==0){str="";return str;}sg_mgrStringMap.PutInt(str,GetElementCount());//数量sg_mgrStringMap.PutInt(str,GetAttributeCount());//属性数量for(iterator iter = Begin(); iter != End(); ++iter){CDBObject* pObject = it 阅读全文
posted @ 2011-11-03 21:38 byfei 阅读(272) 评论(0) 推荐(0) 编辑
摘要://需要设置为你自己的//在DBMS中线要创建数据库test,table bintest,data字段数据类型用LONGBLOB即可测试//测试文件c:\\test.iso,你可以找任何一个文件修改为即可,我找的是一个exe程序,修改为test.iso而已//最大测试过加入文件大小为650M(一个正真的iso文件)//注意:还要修改my.ini文件中的max_allowed_packet字段,我设置的是//max_allowed_packet = 1024M//#define host "localhost" //mysql server//#define username 阅读全文
posted @ 2011-10-14 19:51 byfei 阅读(199) 评论(0) 推荐(0) 编辑
摘要:mysql中,当使用的数据类型是longblob时,如何实现流式的读写,即每次读出或写入一块数据,分多次操作。一般的游标函数明显是无法完成这个需求的,从mysql.h中看其实现就明白了://典型的查询的代码如下int Query(const char* sql, int len, vector< vector<string> >& out){ if (0!=mysql_real_query(&m_client, sql, len)) { m_ErrorCode = (int)mysql_errno(&m_client); ERR_LOG(&quo 阅读全文
posted @ 2011-10-14 19:49 byfei 阅读(2835) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/SuperXJ/archive/2009/12/25/1632206.html 阅读全文
posted @ 2011-10-14 16:37 byfei 阅读(193) 评论(0) 推荐(0) 编辑
摘要:取二进制数据:一样的sql语句,查询出来即可。只不过二进制数据是个数据块,需要得到数据块的大小和数据指针。bool CMySqlAccess::GetBinaryField(int nCol,char* &pDataOut,int& nDataLen){if (m_ItemMySqlRow[nCol] != NULL){ unsigned long *FieldLength = mysql_fetch_lengths(m_pMySqlResult); nDataLen = (int)FieldLength[nCol]; pDataOut = (char*)(m_ItemMySq 阅读全文
posted @ 2011-10-14 11:52 byfei 阅读(2234) 评论(0) 推荐(0) 编辑