今天使用MyEclipse时,操作数据库时报出了仅当使用了列表并且IDENTITY_INSERT为ON时,才能为表中的标识列指定显示值。原因是我的数据库中表的ID设置为自增。经过上网查询,解决了这个问题。根据上网查询的结果,我总结两个解决办法,我个人比较倾向与第一种,代码简单还简洁。
第一种
我的数据库中表t_user3中只有id和name,id设置为自增,查询语句:
String sql1="insert into [t_user3](name) values ('栋哥')";
也就是说,在表t_user中,不是自增的是name列,所以在查询语句中,表名后面加上(表中非自增属性列名即可)。values()中也只需要插入非自增列的值即可。
第二种
这种网上给出的很多,但是我感觉在myEclipse中使用很麻烦的,毕竟三条语句。
SET IDENTITY_Insert TableName ON;
然后执行SQL语句:
insert into TableName values(,,,,,,,,);
然后关闭
SET IDENTITY_Insert TableName OFF;
对数据库了解不是太深入,所以我认为在myEclipse中定义插入语句的时候,第一种方法还是很方便的。