使用列子集将CSV文件读入MySQL

时间:2015-09-01 02:15:25

标签: mysql

给出包含以下字段的表'产品':

def create
  @comment = current_user.comments.build(comment_params)

  if @comment.save
    redirect_to post_path(@comment.post_id),

我想转储包含'name'和'cost'的CSV文件,并将其读回。

我正在使用id name cost user_id

如何使用SELECT 'name', 'cost' INTO 'data.csv' FROM products;将其重新读入,因为某些列未定义?

1 个答案:

答案 0 :(得分:1)

假设您的iduser_id列设置了默认值(或接受NULL),语句很简单:

LOAD DATA INFILE 'rows.csv' (name,cost);

如果这些列需要设置值,那么您可以在加载时按行设置它们:

LOAD DATA INFILE 'rows.csv' (name,cost) SET id=MD5(name),user_id=NULL;

在填写源CSV中的值时,MySQL非常强大。这是一个blog article,它显示了现实世界范例中的许多功能。