java操作SQLserver数据库时编译器报错:仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表‘studentTable1‘中的标识列指定显式值。

java操作SQLserver数据库时编译器报错:仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表’studentTable1’中的标识列指定显式值。

java语言中在对数据库进行操作时,如果数据库的数据表中主键为唯一键插入数据时会报错,而且数据也插不进去

”仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表’studentTable1’中的标识列指定显式值。“。
如下面代码

java操作SQLserver数据库时编译器报错:仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表‘studentTable1‘中的标识列指定显式值。
这里的sql命令我多给了一个参数第一列主键参数设置为null所以会报错

String sql = “insert into studentTable1 values (null,?,?)”;

如果改为

String sql = “insert into studentTable1 values (?,?)”;

这样进行操作就可以成功了,数据也进去了
如下代码:
java操作SQLserver数据库时编译器报错:仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表‘studentTable1‘中的标识列指定显式值。
java操作SQLserver数据库时编译器报错:仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表‘studentTable1‘中的标识列指定显式值。

总结:

在对数据表插入数据时如果主键为自增的列,这时在sql命令中就不需要加人该列的参数