2015-10-08 36 views
1

我有一些mysql表products,我用mysqlimport从CSV文件加载数据到它。我创建使用下面的命令另一个表copy_products:CREATE TABLE copy_products LIKE products;mysqlimport不会将记录加载到用LIKE语句创建的表

现在,当我尝试加载数据使用的mysqlimport copy_products,它给像老一个相同的消息:"db.copy_products: Records: 1000 Deleted: 0 Skipped: 0 Warnings: 0"这表明在CSV文件中的所有行插入(我认为)。但是表格是空的并且没有记录!那么这里有什么线索?以某种方式使用LIKE语句创建的表格是特殊的吗?

+0

你是一个交易的内部?你确定你连接到正确的数据库吗? – tadman

+0

不,我不在交易中,是的,我确定我已连接到正确的数据库。 –

+1

如果它说插入的数据不是,那么这是最常见的两个问题。如果删除表格,您是否仍然可以向其中插入数据?一旦操作完成,使用'LIKE'创建的表就是普通表,这对他们来说绝对没有什么特别的。 – tadman

回答

1

我觉得你需要在创建表的克隆之后。您需要在新表中插入记录如下所示:

> CREATE TABLE copy_products LIKE products; 
> INSERT INTO copy_products SELECT * FROM products GROUP BY id; 

如果你想使它在一个声明中,请尝试以下操作:

CREATE TABLE copy_products SELECT * FROM products group by id; 
+1

谢谢,但我需要使用mysqlimport不正常插入,现在问题得到解决:) –

+0

@LoaiGhoraba你可以回答的问题分享你的信息:) –