我正在尝试执行以下查询:
Insert into pligg_links_temp
select *
from pligg_links
WHERE link_id > 0 and link_id < 10000;
但是我收到了这个错误:
#1146 - Table 'chris123_pligg.pligg_links_temp' doesn't exist when trying to execute query to create table
该表不存在,但应该在此过程中创建,还是我错了?
答案 0 :(得分:2)
查询应为
CREATE TABLE pligg_links_temp AS SELECT * FROM pligg_links WHERE link_id > 0 and link_id < 10000;
答案 1 :(得分:1)
可以通过两种方式将记录从表复制到另一个表。
您的错误堆栈跟踪表示表pligg_links_temp
不存在
那么你对create and insert
表数据的陈述是不正确的。
要将现有表中的记录复制到新表,您需要使用CREATE TABLE ... SELECT Syntax
语法。
使用以下示例:
create table pligg_links_temp -- as /* as is optional */
select * from pligg_links WHERE link_id > 0 and link_id < 10000;
如果目标表已存在,则可以使用INSERT ... SELECT Syntax
语句复制记录。
insert into pligg_links_temp
select * from pligg_links WHERE link_id > 0 and link_id < 10000;
答案 2 :(得分:0)
不,它不会为你创造它。 http://dev.mysql.com/doc/refman/5.5/en/insert.html明确表示该表必须存在。