|
проблема с временными таблицами
|
|||
---|---|---|---|
#18+
Всем привет! MySQL: 3.23.32 Проблема в следующем: Создаю временную таблицу: CREATE TEMPORARY TABLE IF NOT EXISTS temp_table1 (id INT NOT NULL AUTO_INCREMENT,texts TEXT NOT NULL, INDEX(id)) Потом делаю следующий запрос через PHP-скрипт типа SELECT count(id) FROM temp_table1 и дальше начинается фигня - то показывает результат, то выкидывает 1146 Table 'temp_table1' doesn't exist причем периодичность разная (например: 2 раза показывает результат, потом ошибка, потом снова результат и т.д.). Спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 10:36 |
|
проблема с временными таблицами
|
|||
---|---|---|---|
#18+
Очень похоже на грабли mysql_pconnect Если у тебя так, то попробуй mysql_connect ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 11:50 |
|
проблема с временными таблицами
|
|||
---|---|---|---|
#18+
Через mysql_connect результат вообще только один раз показывает :( ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 12:14 |
|
проблема с временными таблицами
|
|||
---|---|---|---|
#18+
после завершения соединения временная таблица удаляется. http://www.mysql.com/doc/ru/CREATE_TABLE.html ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 12:37 |
|
проблема с временными таблицами
|
|||
---|---|---|---|
#18+
Поэтому я и использую mysql_pconnect() .... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 12:47 |
|
проблема с временными таблицами
|
|||
---|---|---|---|
#18+
Исходник покажь. У меня все прекрасно работает вот так: ================================= $hostname = "192.168.0.110:3896"; $username = "root"; $password = "password"; $dbName = "database"; $mylink = mysql_connect($hostname,$username,$password) or die ("Сервер базы данных умер!!!"); mysql_select_db($dbName,$mylink)or die ("База данных убита!!!"); $querystr = "CREATE TEMPORARY TABLE pricetmp (Kod CHAR(4) NOT NULL,". "Price SMALLINT(5) UNSIGNED NOT NULL,". "PRIMARY KEY (Kod))"; $result = mysql_query($querystr,$mylink) or Die("Запрос на создание временного табла обломился!"); $querystr = "INSERT INTO pricetmp SELECT Kod, Price". " FROM zena WHERE Data<= NOW() ORDER BY Kod, Data DESC"; $result = mysql_query($querystr,$mylink) or Die("Запрос на выгрузку данных во временное табло обломился!"); и т.д. ================================= ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 15:45 |
|
проблема с временными таблицами
|
|||
---|---|---|---|
#18+
Это конечно хорошо, но обратиться к временной таблице из другого скрипта уже не получиться, т.к. после отработки данного кода соединение будет закрыто следовательно временную таблицу мы потеряем, т.к. времянка убивается при закрытии соединения. Для этого я и использую mysql_pconnect ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 16:25 |
|
проблема с временными таблицами
|
|||
---|---|---|---|
#18+
Если мне не изменяет склероз, то pconnect использует пул соединений, возвращая то соединение, что сейчас свободно. Это значит, что вызывая php скрипт дважды, вы не можете быть уверены, что этот скрипт будет оба раза использовать одно и то е соедниение. и так, как временные таблицы - атрибут сессии, то нет уверенности, что вызывая скрипт второй раз, вы обнаружите временную таблицу на своем месте. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 18:14 |
|
проблема с временными таблицами
|
|||
---|---|---|---|
#18+
Временные таблицы - они временные для единственного соединения - такова идеология. Если тебе нужно, что бы таблица жила - делай ее не временной, но с уникальным именем - и имя этой таблы передавай во второй скрипт через куки или ещо как-нить - и второй скрипт пускай ее после обработки и дропает. Но таблиц может расплодиться - до фига... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2003, 18:43 |
|
проблема с временными таблицами
|
|||
---|---|---|---|
#18+
А я бы посоветовал создать одну таблицу и скажем с дополнительным полем, номер сессии. По нему и смотрел, какие записи относятся к текущей сессии. Опять же не надо будет мучаться если показывать постранично - выборка уже готова. Или искать в найденом! mahoune ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2003, 14:11 |
|
|
start [/forum/topic.php?fid=47&msg=32237142&tid=1855857]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 313ms |
total: | 466ms |
0 / 0 |