数据库是MYSQL,数据在CSV文件中。
文件中的第一行是字段命
想从第二行开始导入数据库
不想用INSERT语句
可否用load data infile语句呢?请各位帮帮忙写个SQL语句吧,本人因非专业程序员,所以做不了太复杂的程序的
谢谢哦

解决方案 »

  1.   

    可以用 load data infile这个语句不复杂,你自己参考一下MYSQL手册中的例子和说明先写一下,如果自己写的还无法通过,则贴出你自己的语句和错误信息,大家可以一起分析。
      

  2.   

    谢谢楼上朋友的帮助
    我自己已经大概写出来了
    语句如下:
    load data infile 'd:\\test.csv' into table `aaa` fields terminated by ',' IGNORE 1 LINES;
    这个意思是不是以逗号为字段间的分隔符号
    并且跳过第一行的读取?
    但是这里出现一个问题,如下:
    [Err] 1265 - Data truncated for column 'isone' at row 1
    表中的最后一个字段"isone"的类型是double型的,如果改为tinyint型则能顺利插入数据。但是如果不改就会出现上面的错误。请教一下这个是什么问题呢?
    谢谢楼上的朋友哦
      

  3.   

    http://codingstandards.iteye.com/blog/604541
      

  4.   

    非常感谢楼上的朋友,在语句中加入行分割的条件,就解决了
    那么是否就是在原来的语句中,以逗号作为字段分隔符的时候,最后一个字段因为结束处不是以逗号结束的,所以会出现错误?但是那为何当我在MYSQL的表中把最后一个字段修改为tinyint型的时候,也能顺利插入数据呢?
    这里还是不大懂哦
      

  5.   

    另外发现一个问题,在MYSQL里调用load data infile语句,路径可以用"\\"
    而如果在JAVA中,SQL语句中的路径似乎只能用"/"来写才能执行
    如果用了"\\",会有错误说找不到文件
    不知道这是为什么呢?