Обходя ошибку MySQL “Can not reopen table”

Сначала я подумал, что Паштет Специальный был святым Граалем! Но потом я попробовал это, и мои волосы побледнели, как фильм Индианы Джонса.

Но теперь я использую http://xmltocsharp.azurewebsites.net/ , и теперь я как и раньше.

Вот отрезок того, что он сгенерировал:

namespace Xml2CSharp
{
    [XmlRoot(ElementName="entry")]
    public class Entry {
        [XmlElement(ElementName="hybrisEntryID")]
        public string HybrisEntryID { get; set; }
        [XmlElement(ElementName="mapicsLineSequenceNumber")]
        public string MapicsLineSequenceNumber { get; set; }

84
задан Kris 8 December 2008 в 10:01
поделиться

3 ответа

Право, в документах MySQL говорится: "Вы не можете обратиться к TEMPORARY таблица несколько раз в том же запросе".

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

SELECT f1.baseID, GROUP_CONCAT(f1.condition)
FROM search f1
WHERE f1.condition IN (<condition1>, <condition2>, ... <conditionN>)
GROUP BY f1.baseID
HAVING COUNT(*) = <N>;
46
ответ дан Bill Karwin 5 November 2019 в 16:19
поделиться

Лично я просто сделал бы его постоянной таблицей. Вы могли бы хотеть создать отдельную базу данных для этих таблиц (по-видимому, им будут нужны уникальные имена, поскольку много этих запросов могло быть сделано сразу), также чтобы позволить полномочиям быть установленными разумно (Можно установить полномочия на базах данных; Вы не можете установить полномочия на подстановочных знаках таблицы).

Тогда Вам также было бы нужно задание очистки для удаления старых иногда (MySQL удобно помнит время, таблица была составлена, таким образом, Вы могли просто использовать это для разработки, когда уборка требовалась)

3
ответ дан MarkR 5 November 2019 в 16:19
поделиться

Мне удалось изменить запрос на постоянную таблицу, и это исправило его для меня. (изменил настройки VLDB в MicroStrategy, тип временной таблицы).

1
ответ дан 24 November 2019 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: