“字段列表”中的Java mySQL未知列“\
搜索,搜索,修补和尝试每一个解决方案,但没有任何效果 错误:“字段列表”中的Java mySQL未知列“\,java,mysql,Java,Mysql,搜索,搜索,修补和尝试每一个解决方案,但没有任何效果 错误: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'stocktick' in 'field list' 下表: "CREATE TABLE portfolio (" + "idNum INT NOT NULL AUTO_INCREMENT," + "stocktick VARCHAR(255),"
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'stocktick' in 'field list'
下表:
"CREATE TABLE portfolio ("
+ "idNum INT NOT NULL AUTO_INCREMENT,"
+ "stocktick VARCHAR(255),"
+ "stock VARCHAR(255),"
+ "ask DOUBLE(10,2), "
+ "bid DOUBLE(10,2), "
+ "amount INT,"
+ "fundsafter DOUBLE(10,2),"
+ "lastact VARCHAR(255),"
+ "PRIMARY KEY(idNum))";
插入查询:
public void stockPurchase(String stockCode, String stockAmount){
spent = amountInt;
funds = funds - spent;
LocalDate date = LocalDate.now();
System.out.println(date.toString());
System.out.println(stockAmount);
System.out.println(stockCode);
System.out.println(words[0]);
try {
//Get a connection to DB:
Connection con = DriverManager.getConnection(dbUrl, name, pw);
prepSt = con.prepareStatement("INSERT INTO portfolio (stocktick, stock, ask, bid, amount, fundsafter, lastact)"
+ " VALUES (?, ?, ?, ?, ?, ?, ?)");
//Set the parameters:
prepSt.setString(1, stockCode);
prepSt.setString(2, words[0]);
prepSt.setDouble(3, Double.parseDouble(words[1]));
prepSt.setDouble(4, Double.parseDouble(words[2]));
prepSt.setInt(5, Integer.parseInt(stockAmount));
prepSt.setDouble(6, funds);
prepSt.setString(7, date.toString());
prepSt.executeUpdate();
System.out.println("Insert Complete");
} catch (SQLException e) {
e.printStackTrace();
}
fundsLabel.setText("Funds: $" + (funds));
userPanel.remove(bpAction);
userPanel.remove(seAction);
}
以及正在调用的方法:
stockPurchase(stock.getText(), amount.getText());
在我得到INSERT语句之前,一切都很正常,特别是“stocktick”。即使我在其中输入一个简单的字符串,或者尝试用引号将字符串括起来,也会产生这个错误。哪里出了问题?我能想到的唯一原因是,可能程序连接到的数据库与带表的数据库不同。您可以尝试从公文包和rs.getStringstocktick中选择*吗?请注意,我的dbUrl指向了不同的模式,即使如果我删除了某些值,这仍然会插入公文包中。奇怪但决心坚定!