【问题标题】:importing data skipping first id column导入数据跳过第一个 id 列
【发布时间】:2013-02-18 06:14:07
【问题描述】:

我正在使用工作台创建我的第一个数据库,但是在将数据导入关系表时遇到了问题。它由name_idnamesurname组成。

我已经为 name_id 标记了 AI 以自动设置值, 但是当我想导入 .csv 数据时,它会插入到前两列 - name_idname 而不是 namesurname

如何跳过表格的第一列 (name_id) 直接将数据导入到 namesurname 列?

【问题讨论】:

    标签: mysql import mysql-workbench workbench


    【解决方案1】:

    你可以使用mysql shell 控制台,然后在那里使用LOAD DATA INFILE

    为了使用它并自动增加您的 ID 列,您需要将 NULL 作为第一列值。

    所以首先准备你的文件:

    $ perl -pe 's/.*?;/\\N;/' data.csv > data_processed.csv
    

    上面的命令将文件中的所有 ID 替换为 '\N',它是 null 的符号。

    然后只需将此文件导入您的数据库。

    LOAD DATA INFILE "data_processed.csv" INTO TABLE name;
    

    【讨论】:

    • 我已经有了处理过的数据,但是工作台中的“从外部文件导入记录”工具仍在将其插入第一列和第二列。我想在第 2 列和第 3 列中插入数据,跳过第 1 列,换句话说,将第 1 列留空。我不确定这是否可能,因为这是我第一次使用工作台,但是我还没有找到解决这个问题的方法。
    • 嗨,我已经更正了我的答案。在你的情况下使用“mysql”工具是一种选择吗?
    • 我正在创建一个将连接到 netbeans 的数据库,所以我想我也可以使用终端,工作台更好地可视化
    • 只是为了解释我想要什么,也许有人会使用它: LOAD DATA INFILE "path/data.csv" INTO TABLE table_name fields 以 ',' 终止的行 '\n' (first_name,姓); - 这部分是我需要的 - 它指定了我想要导入数据的列,跳过 id_name 列。
    • 嗨@Kashtan,LOAD DATA INFILE "path/data.csv" INTO TABLE table_name fields terminated by ',' lines terminated by '\n' (first_name, surname) 这是正确的语法吗?因为它不适合我。
    猜你喜欢
    • 2013-09-16
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    • 2020-11-25
    • 1970-01-01
    • 2015-03-13
    • 1970-01-01
    相关资源
    最近更新 更多