当我尝试执行查询时执行:

SELECT id_subscriber
  INTO newsletter_to_send
  FROM subscribers 

我有一个错误:

#1327-未声明的变量:newsletter_to_send

该查询有什么问题?

有帮助吗?

解决方案

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:您确定不需要 WHERE 条款?

其他提示

mysql不支持 SELECT ... INTO ... 句法。

你必须使用 INSERT INTO ... SELECT .. 语法要在那里完成。

在这里阅读更多。 http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

我认为您可以按照我的方式遵循我的方式,希望您能够解决自己的问题。

首先使用此SQL命令来创建一个新表格,您想在其中备份

CREATE TABLE destination_table_name LIKE source_table_name;

之后,您可以使用此命令复制这些数据

INSERT INTO destination_table_name
SELECT * FROM source_table_name;

如果您的目标表中已经有以前的数据,则首先可以使用此命令

TRUNCATE TABLE destination_table_name; 

感谢MD。MarufHossain

CREATE TABLE table_name
AS  
SELECT ...(your select)

mysql不支持 SELECT INTO [table]. 。它仅支持 SELECT INTO [variable] 而且只能一次执行一个变量。

你什么 能够 但是,使用 CREATE TABLE 语法为a SELECT 像这样:

CREATE TABLE bar ([column list]) SELECT * FROM foo;

我刚才尝试为此而努力,这对我有用:

CREATE TABLE New_Table_name
SELECT * FROM Original_Table_name;

MySQL Server不支持SELECT ...进入表Sybase SQL扩展名。取而代之的是,MySQL Server支持插入到...选择标准SQL语法中,这基本上是同一件事。请参阅第12.2.5.1节,“插入...选择语法”。

参考: - 这个

mysql不支持选择... in ...语法,

如果是新表,请使用创建表...选择...语法。

例子:

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;

在这里阅读更多 创建桌子选择

mysql不支持 SELECT INTO [table]. 。它仅支持 SELECT INTO [variable] 而且只能一次执行一个变量。

但是,您可以做什么,但是使用 CREATE TABLE 语法为a SELECT 像这样:

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top