【问题标题】:How to solve Data truncated?如何解决数据截断?
【发布时间】:2013-08-22 15:28:20
【问题描述】:

我将 CSV 文件中的数据插入 MySql 数据库,尤其是一张表。

我用的是CSVRead,CSV文件格式是:

ts,val

2013-03-31T23:45:00-04:00 New_York,10

表格是hisdata(ts, val)

这是我的代码:

     try{
        try {
            CSVReader reader = new CSVReader(new FileReader(csvFile));
                
            List<String[]> csvList;
        
            csvList = reader.readAll();
            System.out.println("Start: size is " + csvList.size());
            
            for(int i = 0; i<csvList.size(); i++){
                
                String[] eachStr = csvList.get(i);
                int j = 0;
                
                //insert(ts, val) into hisdata of sql
                String sql = "INSERT INTO hisdata" + "(ts, val)" + " VALUES"
                        + "('" + eachStr[j] + "', '" + eachStr[j+1] + "')";
                Statement st = (Statement) conn.createStatement();
                count = st.executeUpdate(sql);
                
                }
            
            System.out.println("access table is inserted: " + count
                    + " records");
            
                reader.close();
            
            } catch(IOException e){
                System.out.println("Error: " + e.getMessage());
            } 
    
        conn.close();
        } catch (SQLException e) {
        System.out.println("insert is failure " + e.getMessage());
        }

我想可能是导入数据太大了。当我做size() 时,大小是 8835。 基本上,我设置了连接器。然后读取CSV文件并逐行插入数据。最后,我关闭了阅读器和连接。

这是控制台打印输出:

Sql Connection starts
Driver loaded
Database connected
Start: size is 8835
insert is failure Data truncated for column 'val' at row 1

是不是数据太大的问题。

请帮忙解决这个问题。

【问题讨论】:

    标签: sql csv insert truncated


    【解决方案1】:

    添加 System.out.println(sql);在mysql中执行结果。

    如果数据太大,增加列长度,或者获取列长度,然后用子字符串减少数据。

    【讨论】:

      猜你喜欢
      • 2019-03-23
      • 2019-10-12
      • 2022-10-02
      • 1970-01-01
      • 2011-08-27
      • 2016-03-08
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多