Mientras busco la manera de guardar temporalmente los resultados de búsqueda cuando un usuario busca un hotel gratis entre fechas particulares, me encontré con tablas temporales.es una tabla temporal mysql única para cada usuario que accede al script que la crea ...?
Pero ciertas preguntas no son respondidas, incluso en el manual MySQL .... como ...
¿La tabla temporal será único para cada usuario que ejecuta la secuencia de comandos ...? ¿O se sobrescribirá cuando dos usuarios diferentes ejecuten el script al mismo tiempo ...?
¿Cuándo se destruirá la mesa ..? Cuando el usuario cierra la ventana del navegador o simplemente se aleja de la página en la que se ejecuta el script ...?
Gracias por tus aclaraciones ...
Así es como lo hago ....
$table = "CREATE OR REPLACE TEMPORARY TABLE $free_room(
room_id INT(5),
room_name VARCHAR(150),
max_persons INT(1),
rooms_free INT(1),
room_price INT(6),
hotel_id INT(4),
hotel_name VARCHAR(100),
hotel_stars INT(1),
hotel_type INT(1)) ENGINE=MEMORY";
$query_getFreeRooms = "INSERT INTO $free_room
SELECT $rooms.room_id,
$rooms.room_name,
$rooms.max_persons,
$rooms.total_rooms - $rooms.booked_rooms AS rooms_free,
$rooms.room_price,
$hotels.hotel_id,
$hotels.hotel_name,
$hotels.hotel_stars,
$hotels.hotel_type
FROM $hotels,$rooms
WHERE $rooms.room_id NOT IN (SELECT room_id
FROM $reservations
WHERE $dateCheck)
AND $hotels.hotel_city = '$city_search1'
AND $hotels.hotel_id = $rooms.hotel_id
AND $hotels.hotel_deleted = '0'
AND $rooms.room_deleted = '0'";
Pero cuando lo pruebo en línea, la tabla creada por el primer usuario todavía está disponible para todos los usuarios que acceden a ella después de él ... !!! No se crea una nueva tabla para cada usuario ... – SpikETidE
¿Entonces quizás esté utilizando la agrupación de conexiones de alguna manera? – nos
agrupación de conexiones ... siendo un recién llegado, no conozco este concepto ... lo buscaré primero ... – SpikETidE