Java 简单mySQL错误

Java 简单mySQL错误,java,mysql,Java,Mysql,下面是我的数据库的概述。我确信我犯了一个非常简单的错误,但是我尝试过删除指定的位置,但是没有成功。 只有当我将insertDataName更改为“grayson”时,它才会起作用 这是我试图使用的代码 String insertDataName = "gray"; int insertDataValue = 1234; int val = st.executeUpdate("INSERT into results (id, name ,value) VALUES (1, "+insertDa

下面是我的数据库的概述。我确信我犯了一个非常简单的错误,但是我尝试过删除指定的位置,但是没有成功。 只有当我将insertDataName更改为“grayson”时,它才会起作用

这是我试图使用的代码

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

int val = st.executeUpdate("INSERT into results (id, name ,value) VALUES (1, "+insertDataName+", "+insertDataValue+")");
我犯了一个错误
字段列表中的未知列“灰色”


“灰色”是我使用insertDataName时使用的名称,除非我将其设置为“grayson”,否则它不会在“名称”列中输入任何内容。

您缺少
名称
值的引号

"INSERT into results (id, name ,value) VALUES (1, '"+insertDataName+"', "+insertDataValue+")");

您不应该直接向查询中注入值,因为从安全角度来看,它容易发生编码错误。查看PreparedStatement setString和setInt


如果您使用的是自动递增,则无需再次指定该字段的值。

谢谢!我将其更改为:int val=st.executeUpdate(“插入结果(名称、值)值(\”“+insertDataName+“\”,“+insertDataValue+”));而且成功了。。我删除了id,因为它是自动递增的Yep!谢谢我修好了