【发布时间】:2011-02-26 08:07:18
【问题描述】:
当我尝试执行以下查询时:
SELECT id_subscriber
INTO newsletter_to_send
FROM subscribers
我收到一个错误:
#1327 - 未声明的变量:newsletter_to_send
那个查询有什么问题?
【问题讨论】:
标签: mysql select-into
当我尝试执行以下查询时:
SELECT id_subscriber
INTO newsletter_to_send
FROM subscribers
我收到一个错误:
#1327 - 未声明的变量:newsletter_to_send
那个查询有什么问题?
【问题讨论】:
标签: mysql select-into
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 子句吗?
【讨论】:
select ...into syntax" --- 文档中有参考吗?我不知道这种语法。
MySQL 不支持SELECT ... INTO ... 语法。
你必须使用INSERT INTO ... SELECT .. 语法来完成。
在此处阅读更多内容。http://dev.mysql.com/doc/refman/5.0/en/insert-select.html
【讨论】:
MySQL 服务器不支持 SELECT ... INTO TABLE Sybase SQL 扩展。相反,MySQL Server 支持 INSERT INTO ... SELECT 标准 SQL 语法,这基本上是一样的。请参见第 12.2.5.1 节,“INSERT ... SELECT 语法”。
参考:-this
【讨论】:
MySQL 不支持SELECT INTO [table]。它只支持SELECT INTO [variable],一次只能做一个变量。
您可以做的就是使用CREATE TABLE 语法和SELECT,如下所示:
CREATE TABLE bar ([column list]) SELECT * FROM foo;
【讨论】:
SELECT [values] INTO [variables] 语句中为多个变量分配多个值。检查dev.mysql.com/doc/refman/5.7/en/select-into.html
MySQL 不支持SELECT INTO [table]。它只支持SELECT INTO [variable],一次只能做一个变量。
不过,您可以使用 CREATE TABLE 语法和 SELECT,如下所示:
【讨论】:
我认为您可以按照我的方式进行操作,希望您能够解决您的问题。
首先使用此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;
感谢 医学博士马鲁夫侯赛因
【讨论】:
CREATE TABLE table_name
AS
SELECT ...(your select)
【讨论】:
我刚刚尝试过这个工作,这对我有用:
CREATE TABLE New_Table_name
SELECT * FROM Original_Table_name;
【讨论】:
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-select
【讨论】:
如果您想创建一个新表作为重复表。
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;
【讨论】: