mysql LOAD DATA INFILE with auto-increment primary key

后端 未结 5 1054
灰色年华
灰色年华 2021-02-19 03:48

I am trying to load a data file into mysql table using \"LOAD DATA LOCAL INFILE \'filename\' INTO TABLE \'tablename\'\".

The problem is the source data file contains dat

相关标签:
5条回答
  • 2021-02-19 04:14

    the column list must be at the very end and id column must have a set=null to be auto incremented – unfortunately the mysql documentation is very vague. they justt say col1, col2, but are those in the source file or in the dest table . This page helped a lot by clear examples.

    http://www.experts-exchange.com/articles/Database/MySQL/Load-Delimited-Data-into-MySQL-Server.html

    0 讨论(0)
  • 2021-02-19 04:14

    Use the following query in case the csv record is like that

    "21231","234424","My Category","1"

    LOAD DATA LOCAL INFILE 'C:/wamp/www/cakephp/app/webroot/files/product_catalogs/categories.csv' INTO TABLE cats FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' (category_id,parent_id,category,is_leaf)

    I have done that successfully. :)

    0 讨论(0)
  • 2021-02-19 04:18

    Specify a column list:

    By default, when no column list is provided at the end of the LOAD DATA INFILE statement, input lines are expected to contain a field for each table column. If you want to load only some of a table's columns, specify a column list:

    LOAD DATA INFILE 'persondata.txt' INTO TABLE persondata (col1,col2,...);

    http://dev.mysql.com/doc/refman/5.1/en/load-data.html

    0 讨论(0)
  • 2021-02-19 04:31

    your data file should look like this: null, study chars, other fields... MySQL will insert incremented id istead of null

    0 讨论(0)
  • 2021-02-19 04:33
    LOAD DATA LOCAL INFILE '/var/www/.........../file.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\\r\\n' (field1,field2,.........,fieldn)
    

    This is in case of ubuntu

    0 讨论(0)
提交回复
热议问题