Zed*_*ead 1 java mysql syntax timestamp insert
尝试从Java中将一些值插入Mysql时出现语法错误.
我的代码看起来像这样:
date = new SimpleDateFormat("yyyy-MM-dd").parse(nextLine[0]);
java.sql.Timestamp sqlDate = new java.sql.Timestamp(date.getTime());
st.executeUpdate("INSERT INTO " + tick + "(day, open, high, low, close, volume) VALUES (" + sqlDate + ", " + nextLine[1] + ", " + nextLine[2] + ", " + nextLine[3] + ", " + nextLine[4] + ", " + nextLine[5] + ")");
Run Code Online (Sandbox Code Playgroud)
我的例外:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在'00:00:00.0,128.40,128.50,127.30,128.20,1415200附近'使用正确的语法''在第1行
很高兴任何帮助:)
虽然可以修复即时语法错误,但我强烈建议不要这样做.您根本不应该直接在SQL中包含这些值.
而是使用参数化查询PreparedStatement,并将值设置为参数.在这种情况下,您可以使用PreparedStatement.setTimestamp设置值 - 当然,在首先更改要参数化的查询之后.
参数化SQL的好处: