Невозможно создать и выполнить временную таблицу sql - PullRequest
0 голосов

Я пытаюсь оптимизировать SQL-запрос.Всякий раз, когда я пытаюсь создать временную таблицу sql, вывод выдаёт ошибку

, вот код запроса:

$k_new = mysql_result(mysql_query("CREATE TEMPORARY TABLE IF NOT EXISTS temp1 AS SELECT
        MAX(mail.id) AS id 
    FROM
        `mail` 
    WHERE
        mail.`unlink` != '$user[id]' 
        AND (
            mail.`id_kont` = '$user[id]'
        ) 
    GROUP BY
        IF(mail.`id_user` = '$user[id]',
        mail.`id_kont`,
        mail.`id_user`) 
    ORDER BY
        NULL;

- этот индекс необходим для оптимальной производительности временных таблиц

ALTER TABLE
  `temp1`
ADD
  INDEX `temp1_idx_id` (`id`);

SELECT
        COUNT(*) 
    FROM
        `mail` AS m,
        temp1 AS max 
    WHERE
        m.id = max.id 
        AND m.read = '0' 
        AND (
            m.id_kont = '$user[id]'
        ) 
        AND m.unlink != '$user[id]'"), 0);

Я ожидаю, что это будет количество писем, но фактический вывод: Предупреждение: mysql_result () ожидает, что параметр 1 будет ресурсом, логическое значение приведено в /var/www/domains/shorena.ru/style/themes/vk/head.php на линии 333

...