如图,Student表有一个自增id,StudentDao insert时冲突策略选择replace,但这样插入Student数据时,如果除了id之外的其他字段值全相同,room也不会认为这是冲突,这样就会出现插入了重复数据的情况,该如何解决?
您的每一个用心回答,都会让这个世界变得更美好一些!
你可以尝试两种做法更新数据:
1、从技术上解决,首先你new一个对象,然后给自增id去赋值试试,比如说数据库已经有学号为1,姓名为1的数据了,此时它的id是1,那么你再插入一条学号为1,姓名也为1,同时id你手动赋值为1,看看此时能否正常更新数据
2、从业务上解决,除自增id外此时应该有一个唯一标识,例如学号,那你要更新一个数据,先根据唯一标识查,如果能查到有一个对象,那就更新,如果查不到,是个空指针,那你就插入数据
你可以尝试两种做法更新数据:
1、从技术上解决,首先你new一个对象,然后给自增id去赋值试试,比如说数据库已经有学号为1,姓名为1的数据了,此时它的id是1,那么你再插入一条学号为1,姓名也为1,同时id你手动赋值为1,看看此时能否正常更新数据
2、从业务上解决,除自增id外此时应该有一个唯一标识,例如学号,那你要更新一个数据,先根据唯一标识查,如果能查到有一个对象,那就更新,如果查不到,是个空指针,那你就插入数据