I'm sorry, you are way off here in what this actually does. mysql_affected_rows is only going to tell you how many rows were affected by the execution of the last statement made on your current connection. It is not an interface to a magic genie maintaining watch over the state of your entire database.
The only ways you might accomplish anything even remotely like what you have in mind are: have your watcher thread thread make a snapshot of the entire db and run a diff on every cycle which would be ridiculously expensive in terms of execution time not to mention locking up database access pretty good. OR have the external updating process record a log of changes to a particular table, then you monitor thread can scan that table for new entries. - michael dykman On Tue, Nov 17, 2009 at 7:06 AM, Gaurav Nigam (TMP-Japan) <g.ni...@zensar.com> wrote: > Can somebody please help! > > There are two queries - > 1. How can I detect from my code whether a table has been updated in the > Database manually (I am firing delete from testtable where SrNo>=9; on the > Database server) and not from the code itself. I am running this code - > > conn = mysql_init(NULL); > > /* Connect to database */ > if (!mysql_real_connect(conn, server, user, password, database, 0, > NULL, 0)) { > fprintf(stderr, "%s\n", mysql_error(conn)); > exit(1); > } > > my_ulonglong affect_fields; > while(1) > { > affect_fields = mysql_affected_rows(conn); > if ((long) affect_fields >=1) > { > printf("%ld products updated\n\n", (long) > affect_fields); > } > } > > 2. And if the table is really updated/inserted/deleted for any record then > how to check which that record was. > > Regards, > Gaurav. > -- - michael dykman - mdyk...@gmail.com "May you live every day of your life." Jonathan Swift Larry's First Law of Language Redesign: Everyone wants the colon. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql?unsub=arch...@jab.org