通用mapper对sqlserver自增主键如何使用insertSelective插入?
nbcty 2018-06-15 09:06:03 例如insert into table_A(id, name) values(null, '张三'),id为自增列。
在mysql中,是可以插入的。
在sqlserver中,报错“当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'table_A' 中的标识列插入显式值”,解决方法:要么把id列去掉,要么前后加上set identity_insert table_A on和set identity_insert table_A off。
使用insertSelective()插入时,会将没有设置值的字段忽略,但是主键id永远不忽略。
所以使用自增列时,插入语句就像上面一样,还是会有id列,但是对应值为null。
目前,程序中,就出现了上面的问题。同样的程序,使用mysql数据源不报错。使用sqlserver数据库,报错,“当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'table_A' 中的标识列插入显式值”。
如何解决这个问题?