【发布时间】:2017-07-13 14:44:40
【问题描述】:
我正在尝试将 ArrayLists 中的数据插入 Java 中的 mysql 表中,但是我不断收到以下错误:java.sql.SQLException: Data truncated for column 'AAL' at row 1。
以下是部分代码:
stmt = conn.createStatement();
sql = "CREATE TABLE IF NOT EXISTS stocks "
+ "(id INTEGER not NULL AUTO_INCREMENT, date LONGBLOB , " + "time LONGBLOB, "
+ " PRIMARY KEY ( id ))";
stmt.executeUpdate(sql);
System.out.println("Created table in given database...");
for (int i = 0; i < stockList.size(); i++) {
System.out.println(stockList.get(i).getName() + i);
sql = "ALTER TABLE stocks ADD " + stockList.get(i).getName() + " DOUBLE";
stmt.executeUpdate(sql);
}
for (int i = 0; i < stockList.size(); i++) {
System.out.println(i);
sql = "INSERT INTO stocks (id, date, time, " + stockList.get(i).getName() + ") VALUES (NULL, '" + stockList.get(i).getDate() +
"', '" + stockList.get(i).getTime() + "', '" + stockList.get(i).getPrice() + "')";
stmt.executeUpdate(sql);
}
非常感谢任何帮助。
【问题讨论】:
-
如果你再读一遍,异常信息就足够了
Data truncated for column- 这意味着你插入的数据长度大于列的最大长度 -
我该如何解决这个问题。 LONGBLOB 不能解决这个问题吗?
-
这里的“AAL”列是什么?
-
它来自 stockList.get(0).getName()
-
你的sql表中的列是怎么定义的?
标签: java mysql database arraylist insert-into