MySQL выбор из двух объединенных строк не работает - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь выбрать данные из таблицы с именем t32 со следующим кодом:

SELECT
  timestamp AS "time",
  id
FROM CONCAT('t', "32")

Однако появляется следующая ошибка:

#1064 - Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei '("t", "32") LIMIT 0, 25' in Zeile 4

бесплатный перевод на английский sh:

#1064 - Error in SQL syntax. Please look up the correct syntax near '("t", "32") LIMIT 0, 25' in line 4

Однако, если я использую

SELECT timestamp AS "time", id FROM t32

, все работает так, как ожидалось.

о помощи, я был бы очень рад

1 Ответ

0 голосов
/ 10 июля 2020

Вы пытаетесь создать имя таблицы в запросе SQL. Вы не можете сделать это с помощью обычного запроса SQL.

Одним из решений является Dynami c SQL - это подход prepare и exec.

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

Итак, запрос должен выглядеть примерно так:

select t.*
from t
where <somecol> = 32;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...