2012-06-21 13 views
10

Tengo un problema al eliminar una tabla temporal. La cuenta de usuario no tiene el privilegio 'drop'. No quiero otorgar ese privilegio por razones de seguridad. Traté de encontrar un privilegio como 'drop temporary', pero no es así. Parece que la única opción es eliminar todas las declaraciones de 'drop table'. Sé que las tablas temporales se eliminarán automáticamente después de que finalicen las sesiones de la base de datos. Sin embargo, no estoy seguro de si hay algún efecto secundario al dejar este trabajo a MySQL. Por favor aconséjame.¿Es necesario colocar tablas temporales en mysql?

+0

Como se ha mencionado aquí, http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_create-temporary-tables _Para mantener los privilegios de temporal y tablas no temporales separadas, una solución común para esta situación es crear una base de datos dedicada al uso de tablas temporales. Luego, para esa base de datos, a un usuario se le puede otorgar el privilegio CREAR TABLAS TEMPORALES, junto con cualquier otro privilegio requerido para operaciones de tablas temporales realizadas por ese usuario. – Lucky

Respuesta

15

tablas temporales se eliminan automáticamente en cuanto se desconecta de la base de datos

una tabla temporal es visible sólo para la conexión actual, y se deja caer de forma automática cuando se cierra la conexión

http://dev.mysql.com/doc/refman/5.1/en/create-table.html

Entonces, créelos, use y no moleste en la eliminación de ellos

+1

Si usa un grupo de conexiones (hikari, c3p0, etc.), entonces sus conexiones probablemente estará abierto por más tiempo de lo que esperabas, así que ten cuidado. Puede tener sentido eliminar tablas temporales en ese caso. – Alden

+1

@ Alden tiene sentido configurar el software correctamente para que todo funcione como se esperaba. Grupos de conexión deben restablecer la conexión en la desconexión del cliente. – zerkms

0

Utilizará el espacio Ram de la máquina actual. Mejor idea es soltar la tabla temporal en el siguiente paso, una vez que su uso sea superior a

Cuestiones relacionadas