首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql,批量插入的时候能不能用预编译?该如何解决

2012-06-06 
mysql,批量插入的时候能不能用预编译?通过sql语句,例如 insert into t1(id1,ids) values(1,2),(3,4)……可以

mysql,批量插入的时候能不能用预编译?
通过sql语句,例如 insert into t1(id1,ids) values(1,2),(3,4)……
可以提高批量插入的效率。

我想问问预编译的时候能不能用?

int i = mysql_stmt_prepare(stmt, sql.c_str(), (uint32)sql.size());
printf("Error %s\n",mysql_stmt_error(stmt));

上面的代码中,sql的值是:"INSERT INTO sqltest(idVal,longVal,longlongVal,doubleVal,strVal,blobVal) VALUES(?,?,?,?,?,?),(?,?,?,?,?,?),(?,?,?,?,?,?),(?,?,?,?,?,?),(?,?,?,?,?,?),(?,?,?,?,?,?),(?,?,?,?,?,?),(?,?,?,?,?,?),(?,?,?,?,?,?),(?,?,?,?,?,?)"

i的返回值是9,

printf居然是“Error ”,也就是说mysql_stmt_error(stmt)是空???

请问这是怎么的呢?谢谢!!


[解决办法]
还是直接生成SQL语句吧。
[解决办法]
直接load data稍微效率高一些
[解决办法]
提高效率的话,executemangy()应该是一种很炫的方法

热点排行