mysqlimport 不会将记录加载到使用 LIKE 语句创建的表中

标签 mysql mysqlimport

我有一些 mysql 表 products,我使用 mysqlimport从 CSV 文件加载数据。我使用以下命令创建了另一个表 copy_products:CREATE TABLE copy_products LIKE products;

现在,当我尝试使用 mysqlimport 将数据加载到 copy_products 时,它会给出与旧消息相同的消息:"db.copy_products: Records: 1000 Deleted: 0 Skipped: 0 Warnings: 0"这表明 CSV 文件中的所有行都已插入(据我所知)。但是表是空的,没有记录!那么这里有什么线索吗?使用 LIKE 语句创建的表在某些方面是否特殊?

最佳答案

我认为您需要在创建表的克隆之后。您需要按如下方式在新表中插入记录:

> 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;

关于mysqlimport 不会将记录加载到使用 LIKE 语句创建的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33024856/

相关文章:

PHP MySQL在唯一索引上创建重复记录奇怪失败

csv - MySQL 第 1 行 CSV 输入中的列数无效

sql - 如何在重命名某些表/列而不导入其他表/列的同时导入 mysql 转储?

mysql - 如何将此文件导入 MySQL?

php - 使用php将excel数据导入数据库表

javascript - 将 MySQL 数据传递给 Javascript

php - 从 MySQL 数据在 php 数组中创建空白行

windows - MYSQL.EXE 和 MYSQLINPORT.EXE 输入文件? ( Windows )

mysql - 将转储导入到 Amazon RDS

php - MySQL 清理 mysql_fetch_row