hsz*_*hsz 40 mysql select-into
当我尝试执行以下查询时:
SELECT id_subscriber
INTO newsletter_to_send
FROM subscribers
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
#1327 - 未声明的变量:newsletter_to_send
该查询有什么问题?
zer*_*kms 48
INSERT ... SELECT
Run Code Online (Sandbox Code Playgroud)
http://dev.mysql.com/doc/refman/5.1/en/insert-select.html
INSERT INTO newsletter_to_send
SELECT id_subscriber FROM subscribers
Run Code Online (Sandbox Code Playgroud)
PS:你确定你不需要in WHERE子句吗?
Raj*_*ore 21
MySQL不支持SELECT ... INTO ...语法.
你必须使用INSERT INTO ... SELECT ..语法来完成那里.
在这里阅读更多内容.. http://dev.mysql.com/doc/refman/5.0/en/insert-select.html
小智 16
我认为你可以按照我的方式,希望你能够解决你的问题.
首先使用此sql命令创建要在其中进行备份的新表
CREATE TABLE destination_table_name LIKE source_table_name;
Run Code Online (Sandbox Code Playgroud)
之后,您可以使用此命令复制这些数据
INSERT INTO destination_table_name
SELECT * FROM source_table_name;
Run Code Online (Sandbox Code Playgroud)
如果您的目标表中已有先前的数据,则首先可以使用此命令
TRUNCATE TABLE destination_table_name;
Run Code Online (Sandbox Code Playgroud)
谢谢Md.Maruf Hossain
小智 11
CREATE TABLE table_name
AS
SELECT ...(your select)Run Code Online (Sandbox Code Playgroud)
amp*_*ine 10
MySQL不支持SELECT INTO [table].它只支持SELECT INTO [variable]并且一次只能执行一个变量.
但是你可以做的是使用类似的CREATE TABLE语法SELECT:
CREATE TABLE bar ([column list]) SELECT * FROM foo;
Run Code Online (Sandbox Code Playgroud)
小智 5
我刚才尝试过这个,这对我有用:
CREATE TABLE New_Table_name
SELECT * FROM Original_Table_name;
Run Code Online (Sandbox Code Playgroud)