以下是我的数据库概述。我确定我犯了一个非常简单的错误,但我已经尝试删除指定位置,但这不起作用。 它只有在我将insertDataName更改为“grayson”
时才有效
以下是我尝试使用的代码
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列中输入任何内容。
答案 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,则无需再次指定该字段的值。