将一段数据导入到MySQL中  出现了如下错误
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column '???' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:741)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:587)
at com.hopeshine.yjm.WriteToOracle.oracleExecute(WriteToOracle.java:56)
at com.hopeshine.yjm.WriteToOracle.<init>(WriteToOracle.java:26)
at com.hopeshine.yjm.TestAccessToOracle.main(TestAccessToOracle.java:9)
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column '???' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:741)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:587)
at com.hopeshine.yjm.WriteToOracle.oracleExecute(WriteToOracle.java:56)
at com.hopeshine.yjm.WriteToOracle.<init>(WriteToOracle.java:26)
at com.hopeshine.yjm.TestAccessToOracle.main(TestAccessToOracle.java:9)
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column '???' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:741)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:587)
at com.hopeshine.yjm.WriteToOracle.oracleExecute(WriteToOracle.java:56)
at com.hopeshine.yjm.WriteToOracle.<init>(WriteToOracle.java:26)
at com.hopeshine.yjm.TestAccessToOracle.main(TestAccessToOracle.java:9)
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column '???' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:741)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:587)
at com.hopeshine.yjm.WriteToOracle.oracleExecute(WriteToOracle.java:56)
at com.hopeshine.yjm.WriteToOracle.<init>(WriteToOracle.java:26)
at com.hopeshine.yjm.TestAccessToOracle.main(TestAccessToOracle.java:9)
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column '???' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:741)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:587)
at com.hopeshine.yjm.WriteToOracle.oracleExecute(WriteToOracle.java:56)
at com.hopeshine.yjm.WriteToOracle.<init>(WriteToOracle.java:26)
at com.hopeshine.yjm.TestAccessToOracle.main(TestAccessToOracle.java:9)
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column '???' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:741)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:587)
at com.hopeshine.yjm.WriteToOracle.oracleExecute(WriteToOracle.java:56)
at com.hopeshine.yjm.WriteToOracle.<init>(WriteToOracle.java:26)
at com.hopeshine.yjm.TestAccessToOracle.main(TestAccessToOracle.java:9)
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column '???' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:741)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:587)
at com.hopeshine.yjm.WriteToOracle.oracleExecute(WriteToOracle.java:56)
at com.hopeshine.yjm.WriteToOracle.<init>(WriteToOracle.java:26)
at com.hopeshine.yjm.TestAccessToOracle.main(TestAccessToOracle.java:9)
  不明白为什么   江湖兄弟帮帮忙  小弟在此向您鞠躬了

解决方案 »

  1.   

    ???是乱码吧你把sql打印出来看看
      

  2.   

    感觉是不是用中文当作表字段名了?
    MySql只支持少数编码格式,如latin1,utf-8是比较经常用的,而如果你使用的是IDE的话,IDE默认的字符编码一般是GBK等,所以出现乱码,建议字段名字不要用汉字,如果用汉字的话就通过new String("字段名".getBytes[],"utf-8")的方式吧,当然还要确保MySQL的字符编码是utf-8
      

  3.   

    将SQL在打印出来检查
    然后在控制台执行