简单的mySQL错误

时间:2014-03-09 00:23:23

标签: java mysql

以下是我的数据库概述。我确定我犯了一个非常简单的错误,但我已经尝试删除指定位置,但这不起作用。 它只有在我将insertDataName更改为“grayson”

时才有效

enter image description here

以下是我尝试使用的代码

String insertDataName = "gray";
int insertDataValue = 1234;

int val = st.executeUpdate("INSERT into results (id, name ,value) VALUES (1, "+insertDataName+", "+insertDataValue+")");

错误我得到了 Unknown column 'gray' in 'field list'

“灰色”是我生成的insertDataName,除非我将它设为'grayson',否则它不会在name列中输入任何内容。

3 个答案:

答案 0 :(得分:2)

您遗漏了name

的封闭引号
"INSERT into results (id, name ,value) VALUES (1, '"+insertDataName+"', "+insertDataValue+")");

答案 1 :(得分:0)

您不应该直接将值注入查询中,从安全角度来看,它容易受到编码错误的影响。查看PreparedStatement setString和setInt。

http://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html

答案 2 :(得分:0)

当然,如果您使用的是AUTO INCREMENT,则无需再次指定该字段的值。