SELECT INTO und „Undeclared Variable“ error
-
05-10-2019 - |
Frage
Wenn ich versuche, folgende Abfrage ausführen:
SELECT id_subscriber
INTO newsletter_to_send
FROM subscribers
Ich erhalte eine Fehlermeldung:
# 1327 - Nicht angemeldete Variable: newsletter_to_send
Was ist mit dieser Abfrage falsch ist?
Lösung
INSERT ... SELECT
http://dev.mysql.com/doc/ refman / 5.1 / de / Insert-select.html
INSERT INTO newsletter_to_send
SELECT id_subscriber FROM subscribers
PS: Sind Sie sicher, dass Sie nicht in WHERE
Klausel müssen
Andere Tipps
MySQL nicht die SELECT ... INTO ...
Syntax unterstützen.
Sie haben die INSERT INTO ... SELECT ..
Syntax dort zu verwenden, zu erreichen.
Lesen Sie mehr hier .. http: //dev.mysql .com / doc / refman / 5.0 / de / Insert-select.html
Ich glaube, Sie können meine gewichen folgen und hoffentlich werden Sie in der Lage sein, Ihr Problem zu beheben.
Bei der ersten Verwendung dieser SQL-Befehl eine neue Tabelle zu erstellen, in dem Sie nehmen sichern möchten
CREATE TABLE destination_table_name LIKE source_table_name;
Nachdem dann können Sie diesen Befehl verwenden, um die Daten zu kopieren
INSERT INTO destination_table_name
SELECT * FROM source_table_name;
Wenn Sie bereits vorherige Daten in Ihrer Zieltabelle haben, Zum einen können Sie mit diesem Befehl
TRUNCATE TABLE destination_table_name;
Danke von Md. Maruf Hossain
CREATE TABLE table_name
AS
SELECT ...(your select)
MySQL nicht unterstützt SELECT INTO [table]
. Es unterstützt nur SELECT INTO [variable]
und können dies nur tun eine Variable auf einmal.
Was Sie können zu tun, jedoch ist die CREATE TABLE
Syntax mit einem SELECT
etwa so:
CREATE TABLE bar ([column list]) SELECT * FROM foo;
Ich habe versucht, auf diese Arbeit gerade jetzt und das funktioniert für mich:
CREATE TABLE New_Table_name
SELECT * FROM Original_Table_name;
MySQL Server unterstützt nicht die SELECT ... INTO TABLE Sybase SQL-Erweiterung. Stattdessen MySQL Server des INSERT INTO unterstützt ... SELECT Standard-SQL-Syntax, die im Grunde das Gleiche ist. Siehe Abschnitt 12.2.5.1, „INSERT ... SELECT Syntax“.
Ref: - this
MySQL unterstützen nicht SELECT ... INTO ... Syntax,
, wenn es sich um eine neue Tabelle ist, verwenden Sie CREATE TABLE ... SELECT ... Syntax.
Beispiel:
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;
Lesen Sie hier mehr create-table-Option
MySQL nicht unterstützt SELECT INTO [table]
. Es unterstützt nur SELECT INTO [variable]
und kann diese eine Variable zu einem Zeitpunkt nur tun.
Was Sie tun können, ist jedoch die CREATE TABLE
Syntax mit einem SELECT
verwendet etwa so: