MariaDB: Как я могу выбрать временную таблицу, если есть постоянная таблица с тем же именем? - PullRequest
0 голосов
/ 04 февраля 2020

Я создал постоянную таблицу temp и временную таблицу temp, то есть оба имеют одно и то же имя. Как я могу использовать select / update / insert специально для постоянной или временной таблицы? Как я могу различаться между ними?

MariaDB Учебное пособие говорит:

Примечание. Временные таблицы могут иметь то же имя, что и существующая невременная таблица. потому что MariaDB рассматривает это как разностную ссылку.

Итак, я полагаю, что должна быть возможность обратиться к одной из этих таблиц. Этот вопрос связан с этим вопросом Я поставил в SO, но возвращаюсь на шаг назад.

1 Ответ

1 голос
/ 04 февраля 2020

Если временная таблица имеет то же имя, что и существующая невременная таблица, временная таблица будет скрывать имя невременной таблицы.

Это означает, что в операторе SQL вы не сможете для ссылки на временную таблицу.

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

CREATE TABLE t1 (a VARCHAR(100));
INSERT INTO t1 VALUES ("foo");
CREATE VIEW v_t1 AS SELECT a FROM t1;
CREATE TEMPORARY TABLE t1 (b VARCHAR(100));
INSERT INTO t1 VALUES ("bar");
SELECT * FROM v_t1;
SELECT * FROM t1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...