Os explico desde el desconocimiento, por que la verdad, no acabo de ver la luz con el tema.
Para empezar. He estado buscando el tiempo de "vida" de una tabla temporal. y he encontrado que existe mientras se está ejecutando el script y que existe lo que dure la sesión, en los dos casos mientras no se utilice mysql_free_results().
La verdad es que casi todo lo que he encontrado era referido a SQL SERVER, que no sé hasta que punto es comparable con mysql, por que nunca lo he usado.
Mi caso: El resultado de una búsqueda se me guarda en una tabla temporal, y el resultado se puede acotar, dando a unos enlaces que generan una consulta sobre esta tabla.
Pasa que estos enlaces estas indexados por los buscadores, por lo que si alguien desde un buscador los clicka, al no existir la tabla temporal el resultado se me va a la porra.
Lo que quiero es saber si si existe la tabla temporal, para que si no existe se cree.
En principio es facil IF NOT EXIST CREATE TEMPORALY TABLE, pero antes de adentrarme en generar la tabla quiero saber si la tabla de verdad existe o no (el código no es mio y se me hace en ocasiones insostenible).
la tabla temporal se llama tmp
he probado lo siguiente:
Código PHP:
$prueba="select * from tempdb.NOMBRE_BD.tables where table_name like 'tmp'";
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.tables where table_name like 'tmp'' at line 1 No funciona.
Código PHP:
$prueba="select * from tempdb.NOMBRE_BD where table_name like 'tmp'";
claro...no es el nombre de la tabla.
Código PHP:
$prueba="SHOW FULL TABLES";
Código PHP:
$prueba="SHOW FULL TABLES LIKE 'NOMBRE_BD.tempdb.tmp'";
Código PHP:
$prueba= "SELECT * FROM tmp LIMIT 1, 10";
Creo que es, por que no me lo está mirando donde se guardan las temporales que según tengo entendido es en tempdb.
Me podeis dar alguna orientación?
Muchas gracias de antemano.