SELECT INTO et erreur « variable non déclarés »
-
05-10-2019 - |
Question
Lorsque je tente d'exécuter la requête suivante:
SELECT id_subscriber
INTO newsletter_to_send
FROM subscribers
J'obtiens une erreur:
# 1327 - variable non déclarée: newsletter_to_send
Quel est le problème avec cette requête?
La solution
INSERT ... SELECT
http://dev.mysql.com/doc/ refman / 5.1 / fr / insert-select.html
INSERT INTO newsletter_to_send
SELECT id_subscriber FROM subscribers
PS: êtes-vous sûr de ne pas besoin dans la clause WHERE
Autres conseils
MySQL ne supporte pas la syntaxe SELECT ... INTO ...
.
Vous devez utiliser la syntaxe INSERT INTO ... SELECT ..
pour y accomplir.
En savoir plus ici .. http: //dev.mysql .com / doc / refman / 5.0 / fr / insertion select.html
Je pense que vous pouvez suivre mon chemin donné et je l'espère vous serez en mesure de résoudre votre problème.
Lors de la première utilisation de cette commande SQL pour créer une nouvelle table où vous voulez prendre la sauvegarde
CREATE TABLE destination_table_name LIKE source_table_name;
Après, vous pouvez utiliser cette commande pour copier les données
INSERT INTO destination_table_name
SELECT * FROM source_table_name;
Si vous avez déjà des données précédentes dans votre table de destination, Tout d'abord, vous pouvez utiliser cette commande
TRUNCATE TABLE destination_table_name;
Merci par Md. Marouf Hossain
CREATE TABLE table_name
AS
SELECT ...(your select)
MySQL ne supporte pas SELECT INTO [table]
. Il ne supporte que SELECT INTO [variable]
et ne peut le faire une variable à la fois.
Qu'est-ce que vous peut faire, est cependant utiliser le CREATE TABLE
syntaxe avec un SELECT
comme ceci:
CREATE TABLE bar ([column list]) SELECT * FROM foo;
J'ai essayé de travailler sur tout à l'heure et cela fonctionne pour moi:
CREATE TABLE New_Table_name
SELECT * FROM Original_Table_name;
Le serveur MySQL ne supporte pas le SELECT ... INTO TABLE extension Oracle SQL. , MySQL Server prend en charge à la place INSERT INTO ... SELECT syntaxe SQL standard, ce qui est fondamentalement la même chose. Voir la section 12.2.5.1, « INSERT ... SELECT Syntaxe ».
Ref: - ce
MySQL ne supporte pas SELECT ... INTO ... syntaxe,
si elle est une nouvelle table, utilisez CREATE TABLE ... SELECT ... syntaxe.
exemple:
CREATE TABLE artists_and_works
SELECT artist.name, COUNT(work.artist_id) AS number_of_works
FROM artist LEFT JOIN work ON artist.id = work.artist_id
GROUP BY artist.id;
lire la suite ici créer table-sélectionner
MySQL ne supporte pas SELECT INTO [table]
. Il ne supporte que SELECT INTO [variable]
et ne peut faire une variable à la fois.
Qu'est-ce que vous pouvez faire, est cependant utiliser la syntaxe CREATE TABLE
avec un SELECT
comme ceci: