SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.10.2012 14:56:08

malor
Завсегдатай
Зарегистрирован: 24.05.2007
Сообщений: 49

TEMPORARY-таблицы: использование более одного раза в одном SQL-запросе.

Нужно в пространном SQL-запросе при расчета полей использовать
неоднократно обращение к таблице, которая является "TEMPORARY".

Неактивен

 

#2 15.10.2012 16:34:39

Shopen
Гуру
Откуда: Москва
Зарегистрирован: 22.10.2007
Сообщений: 362

Re: TEMPORARY-таблицы: использование более одного раза в одном SQL-запросе.

В чем вопрос? Используйте

Неактивен

 

#3 16.10.2012 19:58:01

malor
Завсегдатай
Зарегистрирован: 24.05.2007
Сообщений: 49

Re: TEMPORARY-таблицы: использование более одного раза в одном SQL-запросе.

В том, что выскакивает ошибка вида:
"can't reopen table"

Как обойти ситуацию?

Неактивен

 

#4 16.10.2012 20:04:01

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: TEMPORARY-таблицы: использование более одного раза в одном SQL-запросе.

К сожалению это документированное ограничение MySQL: временную таблицу нельзя использовать дважды в одном запросе
http://dev.mysql.com/doc/refman/5.5/en/ … blems.html

Решение тут одно - не использовать временную таблицу дважды. На практике решение может оказаться топорным - например сделать копию временной таблицы, а затем использовать эти две таблицы в запросы. Также можно использовать постоянные таблицы, а не временные с именем, содержащим guid (но в этом случае придется управлять их временем жизни, что для временных обеспечивается автоматически).

Неактивен

 

#5 16.10.2012 21:09:21

malor
Завсегдатай
Зарегистрирован: 24.05.2007
Сообщений: 49

Re: TEMPORARY-таблицы: использование более одного раза в одном SQL-запросе.

Через GUID-ы в данный момент и работает.

А ограничение предполагают потом убрать ?..

Неактивен

 

#6 17.10.2012 03:07:38

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: TEMPORARY-таблицы: использование более одного раза в одном SQL-запросе.

Неизвестно, feature request уже 7 лет висит:
http://bugs.mysql.com/bug.php?id=10327

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson