【发布时间】:2025-12-01 03:35:01
【问题描述】:
在寻找一种方法来临时保存搜索结果时,当用户在特定日期之间搜索免费酒店时,我遇到了临时表。
但某些问题即使在 mysql 手册中也没有得到解答......就像......
对于执行脚本的每个用户来说,临时表是否都是唯一的...?还是会在两个不同的用户同时运行脚本时被覆盖...?
表什么时候销毁..?当用户关闭浏览器窗口或只是导航离开运行脚本的页面时......?
感谢您的澄清...
这就是我的做法......
$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'";
【问题讨论】:
标签: mysql temp-tables