Amer Neely wrote:

<snip>
OK, obviously a bit more background seems to be in order.

My site is hosted but I am not the administrator. I have 2 perl scripts, behaving as already described. I also have phpMyAdmin access to my databases. I don't have command line access to the server.

Well, that's a start. Do you run the perl scripts from the command line or via a web interface? If the latter, is your script running through mod_perl with persistent connections?


I don't use InnoDB or transactions.

OK.

What is happening is that I delete a record with one script, but it still shows up when the db is queried by the other script. It DOESN'T show up in the one I used to delete the record.

Right, I got that. But you still haven't showed us the relevant parts of the scripts. How are we to help diagnose the problem without seeing the connect line and the query for each script?


phpMyAdmin shows me that the record still exists in the db. My scripts are not the problem.

What does this mean? A phpMyAdmin query against the db retrieves the entire, supposedly-deleted row? You can see the id of the row as a link to the row? You can see that the row count is still 103?


Have you tried deleting the row in phpmyadmin? If you can, then we can be sure it's a script problem. If you cannot, then it may be a mysql problem.

When I tried to execute a FLUSH TABLES command with phpMyAdmin, that's when I get the error about not having RELOAD privilege. Sounds pretty clear to me.

Right. It is clear that you need the RELOAD privilege to FLUSH TABLES. But that's a red herring. You do not need FLUSH TABLES to delete a row. In fact, FLUSH TABLES has nothing to do with deleting rows. FLUSH TABLES closes all tables and wipes out the cache.


So tell me, is this a 'properly functioning mysql server'?

If FLUSH TABLES fixed the problem, that would mean that your mysql server was improperly caching the row in question after it was deleted. In other words, that would mean mysql was broken. But we know that is not the case. If mysql were keeping the row in the cache even though it had been deleted, it would show up in all your clients, not all but one.


So, as I said, without seeing the relevant parts of your scripts, it is impossible to do more than guess. I'll go ahead and take a shot. There have been about 3 threads similar to this recently in which it turned out that one script connected to the production server while the other pointed to the development server. Have you double-checked your connection strings to make sure they are identical?

Michael

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to