Nie możesz zastąpić nazwy tabeli przez ?
w przygotowanym oświadczeniu a następnie polecenie wykonania wstawi nazwę tabeli.
Dynamiczne nazwy tabel to zwykle zły pomysł :lepiej jest zrobić 1 dużą tabelę i dodać dodatkową (indeksowaną) kolumnę dla "wirtualnej nazwy tabeli".
Jeśli naprawdę potrzebujesz dynamicznych tabel, musisz połączyć nazwę tabeli z PREPARE się.
Za i przeciw dynamicznych nazw tabel
Załóżmy, że zamiast umieszczać wszystkich użytkowników w jednej tabeli, users
z kolumnami ID
, Name
, e-mail
, country
, ...
, umieszczasz je w dynamicznych tabelach, users_country
, z kolumnami ID
, Name
, e-mail
, ...
-
Nie możesz łatwo przeszukiwać wszystkich tabel. Załóżmy, że chcesz wiedzieć, ilu Twoich użytkowników to mężczyźni — musisz wykonać zapytanie do każdej tabeli i UNION wyniki. Nie będzie szybciej.
-
Mimo to możesz fizycznie podzielić tabele przy użyciu PARTYCJI, ale widok logiczny jest nadal taki sam. Jakąkolwiek przewagę, którą uważasz, że masz przy użyciu oddzielnych stołów, można zwykle osiągnąć inną metodą.