Hi Instead of use two INSERT statements, try something like this:
INSERT INTO Table table1 VALUES (list of values1), (list of values2) .... -----Original Message----- From: Jeremiah Gowdy [mailto:[EMAIL PROTECTED] Sent: 06 May 2005 17:19 To: [EMAIL PROTECTED]; mysql@lists.mysql.com Subject: Re: C API : Problem using multi-statements Answer is simple. Can't do that. ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <mysql@lists.mysql.com> Sent: Friday, May 06, 2005 5:40 AM Subject: C API : Problem using multi-statements Hello, I have some problems using multiple queries in a databased driven project, therefore I wrote a little testprogram which causes the same problems. I am using the C-API of MySQL 4.1.11 on a Gentoo Linux 3.3.2-r5, propolice-3.3-7 with 2.4.27 kernel. I connect to the server (on localhost) with mysql_real_connect and the flag CLIENT_MULTI_STATEMENTS, I submit multiple queries (two INSERTS seperated by ";") on the existing connection. Executing the multistatement with mysql_query in a loop (i.e. 10 times), I get a lot of "lost connection during query" errors, but sending a single INSERT query in a loop causes no errors !!! Thanks in advance for help regards Tinosch Ganjineh The following program operates on a simple table structure created with the following statement : CREATE TABLE BIGTABLE (myoid char(40), mykey char(40), myval char(40), myint bigint) TYPE = InnoDB; /********************************** mysqltest.cpp *************************************/ #include <iostream> #include <mysql.h> #include <sstream> #include <string> using namespace std; string itos(long long i) { ostringstream sstream; sstream << i; return sstream.str(); } int main(int argc, char** argv) { MYSQL* conn; if(conn = mysql_init(NULL)) { if(mysql_real_connect(conn, "localhost", "root", "xxxxx", "test", 0, NULL, CLIENT_MULTI_STATEMENTS )) { int loop=100; for(int i=0; i<loop; ++i) { int e=0; string query; query = string("INSERT INTO BIGTABLE VALUES (") + "'object-" +itos(i)+"', 'foo', 'bar', NULL);\ INSERT INTO BIGTABLE VALUES (" + "'object-" +itos(i+1000)+"', 'bar, 'foo', NULL)"; e = mysql_query(conn, query.c_str()); if(e) { cerr << "*********Query failed*****: " << e << " - " << mysql_error(conn) << endl; } else { MYSQL_RES* result = mysql_store_result(conn); if(result) { // .. parse result set ... } else { //cerr << "Could not fetch Results from DB: " << mysql_error(conn); } mysql_free_result(result); } } } else { cerr << "Could not connect to MySQL database: " << mysql_error(conn) << endl; } } else { cerr << "Could not initialize MySQL: " << mysql_error(conn) << endl; } } /********************************** mysqltest.cpp *************************************/ -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] ********************************************************************** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This footnote also confirms that this email message has been swept by MIMEsweeper for the presence of computer viruses. www.mimesweeper.com ********************************************************************** -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]