Lorsque j'essaie d'exécuter la requête suivante:
SELECT id_subscriber
INTO newsletter_to_send
FROM subscribers
Je reçois une erreur:
# 1327 - Variable non déclarée: newsletter_to_send
Quel est le problème avec cette requête?
INSERT ... SELECT
http://dev.mysql.com/doc/refman/5.1/en/insert-select.html
INSERT INTO newsletter_to_send
SELECT id_subscriber FROM subscribers
PS: êtes-vous sûr que vous n'avez pas besoin de la clause WHERE
?
MySQL ne prend pas en charge le SELECT ... INTO ...
syntaxe.
Vous devez utiliser le INSERT INTO ... SELECT ..
syntaxe à accomplir là-bas.
En savoir plus ici .. http://dev.mysql.com/doc/refman/5.0/en/insert-select.html
Je pense que vous pouvez suivre ma voie et j'espère que vous pourrez résoudre votre problème.
Au début, utilisez cette commande sql pour créer une nouvelle table où vous souhaitez effectuer la sauvegarde
CREATE TABLE destination_table_name LIKE source_table_name;
Ensuite, vous pouvez utiliser cette commande pour copier ces 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, vous pouvez tout d'abord utiliser cette commande
TRUNCATE TABLE destination_table_name;
Merci par Md. Maruf Hossain
CREATE TABLE table_name
AS
SELECT ...(your select)
MySQL ne prend pas en charge SELECT INTO [table]
. Il prend uniquement en charge SELECT INTO [variable]
et ne peut faire que cette variable à la fois.
Ce que vous pouvez faire, cependant, utilisez le CREATE TABLE
syntaxe avec un SELECT
comme ceci:
CREATE TABLE bar ([column list]) SELECT * FROM foo;
J'ai essayé d'y travailler tout à l'heure et cela fonctionne pour moi:
CREATE TABLE New_Table_name
SELECT * FROM Original_Table_name;
MySQL Server ne prend pas en charge l'extension SELECT ... INTO TABLE Sybase SQL. Au lieu de cela, MySQL Server prend en charge la syntaxe SQL standard INSERT INTO ... SELECT, qui est fondamentalement la même chose. Voir Section 12.2.5.1, "INSERT ... SELECT Syntax".
Réf: - this
mysql ne prend pas en charge la syntaxe SELECT ... INTO ...,
s'il s'agit d'une nouvelle table, utilisez la syntaxe CREATE TABLE ... SELECT ....
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;
en savoir plus ici create-table-select