Primary key 重复么?

解决方案 »

  1.   

    可能你是跨版本load也可能是数据编码无法读取也可能是数据库引擎不支持具体可以查看日志详细信息更改sql语句
      

  2.   

    可能你是跨版本load也可能是数据编码无法读取也可能是数据库引擎不支持具体可以查看日志详细信息更改sql语句
      

  3.   

    事实上我是为了更改主键,先把数据导出来csv,然后truncate表,然后在删主键,再建主键,然后再LOAD DATA因为数据量太多了,几千万,我直接删主键倒是很快,但是建新的主键就半天完成不了。不知道大家有没有好方法更改大表主键。
      

  4.   

    [Quote=引用 14 楼 sonald 的回复:]
    ......引用 2 楼 m1234 的回复:
    怎样才能看到这些被跳过的行的信息呢?
    6
    [/Quote12]
      

  5.   

    事实上我是为了更改主键,先把数据导出来csv,然后truncate表,然后在删主键,再建主键,然后再LOAD DATA 因为数据量太多了,几千万,我直接删主键倒是很快,但是建新的主键就半天完成不了。 不知道大家有没有好方法更改大表主键
    ------------------------------
    数据量大时,把处理顺序颠倒下:
    然后在删主键,再建主键,然后再LOAD DATA ---> 先LOAD DATA,再建主键
      

  6.   

    同时,把系统变量 bulk_insert_buffer_size增大些。
      

  7.   

    Load data ...
    如果出错, 你吧出错的内容打印出来, 然后到文件中去一个个找, 我就是这样处理的。
      

  8.   

    你可以针对Skip的内容, 检查与正常的有什么不同?
    LOAD Data.....后, 
    如果出错,如果是Mysql,则调用show warning. 里面有错误信息。
    如果是Oracle, 也可以查看错误信息。具体我要查以前的代码。针对错误信息, 将处理的文件多备份几个, 然后定位到产生错误的附近,找出错误的问题所在。
      

  9.   

     
    show warning. 有错误信息。