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?

Était-ce utile?

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:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top