Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Tabla temporal (https://www.clubdelphi.com/foros/showthread.php?t=76419)

Perenquen 31-10-2011 12:21:37

Tabla temporal
 
Buenas. Hace un par de semanas empecé a trabajar con mySQL y ahora tengo un problemilla a la hora de crear una tabla temporal.
La consulta que estoy haciendo, directamente en el Query Browser, es:

Código SQL [-]

CREATE TEMPORARY TABLE test.prueba (
  ID TINYINT NOT NULL
);

No me devuelve ningún error, asi que supongo que está creada correctamente. Es más si ejecuto de nuevo la instrucción me devuelve el error "Table 'prueba2 already exists".

El problema surge cuando intento hacer alguna referencia a esta tabla, por ejemplo

Código SQL [-]
SELECT count(*) FROM test.prueba;

me devuelve un error diciéndome que la tabla no existe.

Alguno tiene alguna idea de que puede estar pasando. Ya digo que llevo poco con este motor e igual es alguna tontería.

Gracias de antemano a todos.

Casimiro Notevi 31-10-2011 12:58:22

Por favor, recuerda poner un título descriptivo a tus preguntas, gracias por tu colaboración. Guía de estilo.

Godzuki 12-11-2011 06:34:43

Las tablas temporales solo existen mientras se ejecuta la conexión que la creo. Cuando termina el script, la tabla temporal desaparece. Prueba con este código:
Código SQL [-]
CREATE TEMPORARY TABLE test.prueba (
  ID TINYINT NOT NULL
);
insert into prueba (ID) values (1);
Select * from prueba;

Veras que como se crea la tabla de prueba y se inserta un registro y se realiza una consulta en la misma conexión, si se pueden ver los cambios. Si ejecutas la creación de la tabla con una conexión diferente a la que consulta la misma, no se pueden ver las tablas temporales. Dos diferentes conexiones pueden crear una tabla temporal con el mismo nombre y no tienen conflicto entre si, ya que ambas tablas solo son visibles para la conexión que las creo. Espero que esto te sirva de algo. Un saludo.


La franja horaria es GMT +2. Ahora son las 10:49:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi