Table of Contents

mysql_commit

my_bool mysql_commit(MYSQL *mysql)

description of mysql_commit

mysql_commit Commits the current transaction. The action of this function is subject to the value of the completion_type system variable.
if the value of completion_type is 2, the server performs a release after terminating a transaction and closes the client connection. The client program should call mysql_close().

#include <stdio.h> /* including standard library */ 
#include <mysql/mysql.h>
 
MYSQL *my;
MYSQL_ROW  row;
MYSQL_RES  *mysql_res; 
 
int main( void ){
char host[20];
char user[20];
char pass[20];
unsigned long numrows = 0;
 
my = mysql_init(NULL);
 
 
sprintf(host,"localhost");
sprintf(user,"username");
sprintf(pass,"password");
 
if (my == NULL ) {
printf("Cant initalisize MySQL\n");
return 1;
}
 
if( mysql_real_connect (my,host,user,pass,NULL,0,NULL,0)  == NULL) {
  printf("Error cant login\n");
  } else {
  printf("Login correct\n");
  }
 
mysql_select_db(my,"test");
mysql_autocommit(my, (my_bool)0);   // set autocommit to false
 
mysql_query(my, "TRUNCATE TABLE `collection`;");
mysql_query(my, "INSERT INTO `test`.`collection`"
	        " (`id`, `name`, `title`, `published`)"
		" VALUES (NULL, 'Debian', 'Debian 4.0', '2011-02-14');");
mysql_query(my, "SELECT * from collection WHERE 1;");
 
if (mysql_affected_rows(my) >= 1) {
   mysql_rollback(my);
}
else {
   mysql_commit(my);
}
 
printf("rows affected: %li\n", numrows);
 
mysql_res = mysql_store_result(my);
row = mysql_fetch_row (mysql_res);   // fetch the result
numrows = (unsigned long) mysql_num_rows (mysql_res);
printf("rows affected after mysql_commit: %li\n", numrows);
 
 
mysql_close(my);
return 0;
}

output of mysql_commit c example

  Login correct
  rows affected: 0
  rows affected after mysql_commit: 1