I note by experiment (by observing the content of the binary log) that I get the following actions when trying to use a temporary table during a transaction:
-- on creating a temporary table, the create (only) is committed -- on dropping a temporary table, the current transaction is committed All tables are InnoDB, including the temporary table. Using Linux: 3.23.49-max-log What are the rules? Can I use a temporary table to hold temporary results during a transaction, and, if so, will I still be able to use the binary log for recovery purposes? >From my experiment, it looks as if I could do so, provided I use a different name each time and I don't drop the temporary tables explicitly, but let them go away when connections are terminated. There aren't many, and this would be acceptable. I'd like to know if it would be safe to do so. (Different names are needed since, in principle, two concurrent transactions could create temporary tables, and the operations on the temporary tables could be interleaved in the binary log.) Note. I get the same actions with a table which is not declared temporary--though, of course, it doesn't go away when the connection does. I wasn't able to find anything on this in the manual. I seem to recall that some other databases--such as Oracle--automatically commit before any DDL statement. sql,query --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php