MySQL一次执行多条语句的如何实现及常见问题

与此形成鲜明对比的是另一位巨星——葡萄牙队的c罗。上赛季他虽说有42个进球,但经统计,他的效率不到10%。在这个习惯统计学的社会,c罗的42球从深层分析充满了水分。此外,他的球场道德也属于低劣派,假摔贯穿全场,无处不在,江湖人送外号 "跳水运动员 ",桃色风波更是五花八门,而两者后果呢?看看吧:梅西凭借着08—09赛季带领巴萨取得西甲、国王杯、欧洲冠军联赛三冠王,取得433分,获得金球奖,而c罗只有他的一半不到!
MySQL是支持在单个查询字符串中指定多语句执行的,使用方法是给链接指定参数:
 
//链接时设定
mysql_real_connect( ..., CLIENT_MULTI_STATEMENTS );
//或者
//中途指定
mysql_set_server_option( mysql, MYSQL_OPTION_MULTI_STATEMENTS_ON ); //mysql是连接的名称

当使用执行多语句功能后,一定要读完整个resault集,否则会出现错误:Commands out of sync; you can't run this command now
官方推荐的执行语句是这样的:
 
do
{
/* Process all results */
...
printf( "total affected rows: %lld", mysql_affected_rows( mysql ) );
...
if( !( result mysql_store_result( mysql ) ) )
{
printf( stderr, "Got fatal error processing query\n" );
exit(1);
}
process_result_set(result);/* client function */
mysql_free_result(result);
}while( !mysql_next_result( mysql ) );

如果仅仅是插入等不需要返回值的SQL语句,也一样得读完整个resault集并释放,最小化的写法:
 
do
{
result = mysql_store_result( mysql );
mysql_free_result(result);
}while( !mysql_next_result( mysql ) );

到此这篇关于MySQL一次执行多条语句的如何实现及常见问题就介绍到这了。世界没有任何变化,只是彼此不再是彼此的牵挂。等不到天黑,烟花不会太完美,回忆烧成灰,还是没有结尾……她静悄悄地来过,他慢慢带走沉默。最后彼此的承诺,消逝在空中楼阁。做错了也不后悔,跌倒了就重新爬起来,要记住:学会坚强,学会自信,永远做生活的强者。更多相关MySQL一次执行多条语句的如何实现及常见问题内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
centos7 mysql5.7主从同步配置

centos7安装MySQL教程

达梦数据库DM8表空间管理之删除表空间

达梦数据库DM8表空间管理之创建表空间

国产达梦数据库常用SQL语句(上)