Создание временных таблиц

lory

Guest
Создание временных таблиц

Возникла необходимость во временных таблицах. Мне удается создавать временные таблицы только в командной строке:

[sql]CREATE TEMPORARY TABLE test1
SELECT * FROM books, customers;[/sql]

+------------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------------+------+-----+---------+-------+
| ISBN | varchar(13) | | | | |
| Author | varchar(30) | YES | | NULL | |
| Title | varchar(60) | YES | | NULL | |
| Price | float(4,2) | YES | | NULL | |
| CustomerID | int(10) unsigned | | | 0 | |
| Name | varchar(30) | | | | |
| Address | varchar(40) | | | | |
| City | varchar(20) | | | | |
+------------+------------------+------+-----+---------+-------+

НО phpMyAdmin их игнорирует. То есть он сообщает, что запрос (создание таблицы) был успешно выполнен, а на [sql]desc test1[/sql] или [sql]select * from test1[/sql] отвечает:
#1146 - Table 'test_02.test1' doesn't exist
Из командной строки временная таблица, созданная в MyAdmin, не видна.

В скрипте с помощью mysql_query тоже ничего не получается.

Неужели невозможно создать временную таблицу в скрипте php?
Любая информация о работе с временными таблицами будет для меня бесценна:)

P.S. Не обращайте внимание на странность приведенных запросов. Это тестовые данные.
 

chira

Новичок
временная таблица живёт пока жива сессия.
сессия живёт от mysql_connect до mysql_close (или окончания работы php скрипта)
если подключишься mysql консолью, создашь временную таблицу и увидишь её
из другой сессии нельзя увидеть "чужую" временную таблицу ...
 

lory

Guest
Спасибо! Одной загадкой стало меньше.

Однако, если я создаю таблицу в MyAdmin и пишу к ней запрос, это одна сессия, правда? MyAdmin должен как-то на таблицу реагировать.
 

chira

Новичок
Однако, если я создаю таблицу в MyAdmin и пишу к ней запрос, это одна сессия, правда? MyAdmin должен как-то на таблицу реагировать.
не правда.
напиши свой php скрипт в котором попробуй работать с временной таблицей
 
Сверху