题
当我尝试执行查询时执行:
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
像这样: