SELECT INTO ed errore “variabile non dichiarata”
-
05-10-2019 - |
Domanda
Quando provo ad eseguire query seguente:
SELECT id_subscriber
INTO newsletter_to_send
FROM subscribers
ottengo un errore:
# 1327 - variabile non dichiarata: newsletter_to_send
Cosa c'è di sbagliato con quella query?
Soluzione
INSERT ... SELECT
http://dev.mysql.com/doc/ refman / 5.1 / it / insert-select.html
INSERT INTO newsletter_to_send
SELECT id_subscriber FROM subscribers
PS: Sei sicuro non è necessario nella clausola WHERE
Altri suggerimenti
MySQL non supporta la sintassi SELECT ... INTO ...
.
È necessario utilizzare la sintassi INSERT INTO ... SELECT ..
per raggiungere lì.
Per saperne di più qui .. http: //dev.mysql .com / doc / refman / 5.0 / it / insert-select.html
Penso che si possa seguire il mio lasciato il posto e spero che sarò in grado di risolvere il problema.
Al primo utilizzo questo comando SQL per creare una nuova tabella in cui si desidera prendere il backup
CREATE TABLE destination_table_name LIKE source_table_name;
Dopo di allora è possibile utilizzare questo comando per copiare tali dati
INSERT INTO destination_table_name
SELECT * FROM source_table_name;
Se si dispone già di dati precedenti nella tabella Destinazione, In primo luogo è possibile utilizzare questo comando
TRUNCATE TABLE destination_table_name;
Grazie By Md. Hossain Maruf
CREATE TABLE table_name
AS
SELECT ...(your select)
MySql non supporta SELECT INTO [table]
. Supporta solo SELECT INTO [variable]
e può fare solo questo una variabile alla volta.
Quello che possono fare, tuttavia è utilizzare il CREATE TABLE
sintassi con un SELECT
in questo modo:
CREATE TABLE bar ([column list]) SELECT * FROM foo;
Ho provato a lavorare su questo solo ora e questo funziona per me:
CREATE TABLE New_Table_name
SELECT * FROM Original_Table_name;
MySQL Server non supporta l'estensione SELECT ... INTO TABLE Sybase SQL. Invece, MySQL Server supporta INSERT INTO ... SELECT sintassi SQL standard, che è fondamentalmente la stessa cosa. Vedere la Sezione 12.2.5.1, “INSERT ... SELECT sintassi”.
Ref: - questo
MySQL non supportano SELECT ... INTO ... la sintassi,
se si tratta di una nuova tabella, utilizzare CREATE TABLE ... SELECT ... sintassi.
Esempio:
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;
Per saperne di più qui creare-table-selezionare
MySql non supporta SELECT INTO [table]
. Supporta solo SELECT INTO [variable]
e può fare solo questa variabile alla volta.
Cosa si può fare, tuttavia, è utilizzare la sintassi CREATE TABLE
con un SELECT
in questo modo: