mysql (5.1) > créer une table avec le nom d'une variable
Je suis en train de créer une table avec un nom basé sur le courant de l'année et le mois(2011-09
), mais MySQL ne semble pas comme ça.
SET @yyyy_mm=Year(NOW())+'-'+Month(NOW());
CREATE TABLE `survey`.`@yyyy_mm` LIKE `survey`.`interim`;
SHOW TABLES IN `survey`;
+-----------+
| interim |
+-----------+
| @yyyy_mm |
+-----------+
Si je ne CREATE TABLE;
sans les tiques autour de @yyyy_mm
, je reçois un générique erreur de syntaxe.
@yyyy_mm
décide de 2020
.
Les identificateurs ne sont pas des variables. Les Variables ne sont pas les identifiants. Cela nécessite l'utilisation de "SQL dynamique" -- c'est dégueulasse dans toutes les bases de données qui j'ai travaillé.
Voir stackoverflow.com/questions/190776/... et stackoverflow.com/questions/929244/... et stackoverflow.com/questions/5530755/...
Voir stackoverflow.com/questions/190776/... et stackoverflow.com/questions/929244/... et stackoverflow.com/questions/5530755/...
OriginalL'auteur jacob | 2011-09-20
Vous devez vous connecter pour publier un commentaire.
Vous devriez être en mesure de faire quelque chose comme ceci:
OriginalL'auteur nos
OriginalL'auteur Nicola Cossu