SELECT INTO y error “variable no declarada”
-
05-10-2019 - |
Pregunta
Cuando intento ejecutar siguiente consulta:
SELECT id_subscriber
INTO newsletter_to_send
FROM subscribers
Me sale un error:
# 1327 - variable no declarada: newsletter_to_send
Lo que está mal con esa consulta?
Solución
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: ¿Está seguro de que no es necesario en la cláusula WHERE
Otros consejos
MySQL no soporta la sintaxis SELECT ... INTO ...
.
Hay que utilizar la sintaxis INSERT INTO ... SELECT ..
para llevar a cabo allí.
Más información aquí .. http: //dev.mysql .com / doc / RefMan / 5,0 / en / insert-select.html
Creo que se puede seguir mi camino dado y esperamos que pueda ser capaz de solucionar su problema.
Con el primer uso de este comando SQL para crear una nueva tabla en la que desea tener copia de seguridad
CREATE TABLE destination_table_name LIKE source_table_name;
Después, puede utilizar este comando para copiar los datos
INSERT INTO destination_table_name
SELECT * FROM source_table_name;
Si ya tiene los datos anteriores en la tabla de destino, En primer lugar usted puede utilizar este comando
TRUNCATE TABLE destination_table_name;
Gracias Por Md. Maruf Hossain
CREATE TABLE table_name
AS
SELECT ...(your select)
MySQL no soporta SELECT INTO [table]
. Sólo es compatible con SELECT INTO [variable]
y sólo puede hacer esto una variable a la vez.
Lo que puede hacer, sin embargo es utilizar el CREATE TABLE
sintaxis con un SELECT
este modo:
CREATE TABLE bar ([column list]) SELECT * FROM foo;
He intentado trabajar en esto en este momento y esto funciona para mí:
CREATE TABLE New_Table_name
SELECT * FROM Original_Table_name;
El servidor MySQL no soporta la extensión SELECT ... INTO TABLE Sybase SQL. En su lugar, MySQL Server soporta la instrucción INSERT INTO ... SELECT sintaxis SQL estándar, que es básicamente la misma cosa. Véase la Sección 12.2.5.1, “INSERT ... SELECT Sintaxis”.
Ref: - esta
MySQL no son compatibles con SELECT ... INTO ... sintaxis,
si se trata de una nueva tabla, el uso de CREATE TABLE ... SELECT ... sintaxis.
ejemplo:
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;
leer más aquí crear-table-seleccionar
MySQL no soporta SELECT INTO [table]
. Sólo es compatible con SELECT INTO [variable]
y sólo puede hacerlo una variable a la vez.
Lo que puede hacer, sin embargo, es utilizar la sintaxis CREATE TABLE
con un SELECT
este modo: