我正在嘗試通過tsv infile將數據插入到mysql數據庫的java項目。當運行這個程序它給了我下面的錯誤:聲明。 executeUpdate在第1行給列X截斷日期錯誤
Exception in thread "main" java.sql.SQLException: Data truncated for column 'Services' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) at com.mysql.jdbc.Connection.execSQL(Connection.java:3277) at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1402) at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1317) at LogProcessing.LogReader.addDay(LogReader.java:313) at LogProcessing.LogReader.updateTables(LogReader.java:177) at LogProcessing.LogReader.start(LogReader.java:59) at LogProcessing.LogReader.main(LogReader.java:45)
的代碼是
s.executeUpdate(query);
哪裏查詢
LOAD DATA INFILE 'C:/temp/BA5770/tmp/temp.dat'INTO TABLE thisweek FIELDS TERMINATED BY ' ';
奇怪的是,當我複製此查詢,並直接輸入它在MySQL中,它被接受。
mysql> LOAD DATA INFILE 'C:/temp/BA5770/tmp/temp.dat'INTO TABLE thisweek FIELDS TERMINATED BY ' '; Query OK, 76932 rows affected, 65535 warnings (2.44 sec) Records: 76932 Deleted: 0 Skipped: 0 Warnings: 76932
表看起來像:
mysql> show columns from thisweek;
+------------+----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------------------+------+-----+---------+-------+
| functionID | smallint(5) unsigned | YES | MUL | NULL | |
| serverID | tinyint(3) unsigned | YES | | NULL | |
| date | date | YES | | NULL | |
| time | time | YES | | NULL | |
| calls | int(10) unsigned | YES | | NULL | |
| meanTime | float | YES | | NULL | |
| WSC | float | YES | | NULL | |
| THM_DB2 | float | YES | | NULL | |
| DEP | float | YES | | NULL | |
| Tandem | float | YES | | NULL | |
| LDAP | float | YES | | NULL | |
| PS | float | YES | | NULL | |
| IAV | float | YES | | NULL | |
| IMS | float | YES | | NULL | |
| Services | float | YES | | NULL | |
+------------+----------------------+------+-----+---------+-------+
15 rows in set (0.00 sec)
和輸入數據的樣子:
31 0 20111207 235900 19 0.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0
32 0 20111207 235900 405 60.94 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
33 0 20111207 235900 1 32.0 24.0 14.0 0.0 0.0 0.0 0.0 8.0 0.0 24.0
34 0 20111207 235900 3 39.0 36.0 21.0 6.0 0.0 0.0 0.0 8.0 0.0 32.0
35 0 20111207 235900 27 9.44 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0