3 в одном

Стас

Троечник
3 в одном

У меня никак не получается сделать 3 запроса в одном. Запросы вот какие:
==
$query = "CREATE TABLE temp (something fields);";
$query .= " INSERT INTO temp (something fields) VALUES (something values);"
$query .= " SELECT * FROM temp";
$result = mysql_query($query);
==
Запрос не выполняется, а хотелось бы в одной строке выполнить три запроса. Возможно ли это сделать?
И еще один вопрос, возможно, он уже обсуждался: Как создать временную таблицу с уникальным именем? Я делаю так:
==
$tempT = "T".time();
CREATE TABLE ".$tempT." ....
==
Есть ли другой вариант, лучше чем то, что есть у меня?
 

lucas

Guest
1. Функция mysql_query выполняет только один запрос БД. (Три запроса -- три вызова mysql_query.)

2. CREATE TEMPORARY TABLE table_name...
Начиная с MySQL 3.23 при создании таблицы можно использовать ключевое слово TEMPORARY. Временная таблица автоматически удаляется по завершении соединения, а ее имя действительно только в течение данного соединения. Это означает, что в двух разных соединениях могут использоваться временные таблицы с одинаковыми именами без конфликта друг с другом или с существующей таблицей с тем же именем (существующая таблица скрыта, пока не удалена временная таблица). С версии MySQL 4.0.2 для создания временных таблиц необходимо иметь привилегии CREATE TEMPORARY TABLES.
(c) mysql manual
 

Стас

Троечник
Значит, нельзя получить 3 в одном... А жаль :(
Спасибо за ответ!
 

lucas

Guest
Значит, нельзя получить 3 в одном... А жаль
Все абсолютно логично.
Интересно, что, в таком случае, должна возвратить БД на два select-запроса?
 
Сверху