当我尝试执行以下查询时:
SELECT id_subscriber
INTO newsletter_to_send
FROM subscribers
我收到一个错误:
#1327 - 未声明的变量:newsletter_to_send
该查询有什么问题?
当我尝试执行以下查询时:
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:你确定不需要inWHERE
子句吗?
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;
感谢医学博士 Maruf Hossain
MySQL 不支持SELECT INTO [table]
. 它一次只支持SELECT INTO [variable]
并且只能执行一个变量。
但是,您可以做的是使用类似这样的CREATE TABLE
语法:SELECT
CREATE TABLE bar ([column list]) SELECT * FROM foo;
CREATE TABLE table_name
AS
SELECT ...(your select)
我刚刚尝试过这个工作,这对我有用:
CREATE TABLE New_Table_name
SELECT * FROM Original_Table_name;
MySQL 服务器不支持 SELECT ... INTO TABLE Sybase SQL 扩展。相反,MySQL Server 支持 INSERT INTO ... SELECT 标准 SQL 语法,这基本上是一样的。请参见第 12.2.5.1 节,“INSERT ... SELECT 语法”。
参考:-这个
mysql 不支持 SELECT ... INTO ... 语法,
如果是新表,请使用 CREATE TABLE ... SELECT ... 语法。
例子:
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;
在这里阅读更多创建表选择
如果要创建一个新表作为重复表。
CREATE TABLE WorkerClone LIKE Worker; //only structure will show no data
CREATE TABLE WorkerClone Select * from Worker; //DUPLICATE table created with all details.
你可以在没有CREATE TABLE
++的情况下做到这一点像这样INSERT INTO
:DROP TABLE
SELECT @newsletter_to_send := id_subscriber
FROM subscribers WHERE your_condition = your_value;
MySQL 不支持SELECT INTO [table]
. 它一次只支持SELECT INTO [variable]
并且只能执行一个变量。
但是,您可以做的是使用类似这样的CREATE TABLE
语法:SELECT