Android数据库处理重复插入Insert数据的问题
在创建表时,使用UNIQUE约束唯一的列,比如ID等。约束之后,再插入相同ID的数据会报错,此时要配合insert ignore into插入数据库的方法进行操作。
使用UNIQUE约束;
点击查看:数据库 SQL 约束之 UNIQUE
我是在创建数据库时,使用单列约束
public static final String CREATE_GOODS_SQL=
"create table goods(dbId integer ,dbIcon integer," +
"dbTitle text," +
"dbPrice text,UNIQUE(dbId))";
//用UNIQUE约束dbId只有一个,不能重复。
双列约束,以及创建好数据表之后再约束的方法,请查看数据库 SQL 约束之 UNIQUE
使用insert ignore into 与Insert into插入方法;
插入的时候使用insert ignor into 替代原有的insert方法
String sql = "insert or ignore into goods(dbId,dbIcon,dbTitle,dbPrice)values('"+id+"','"+icon+"','"+title+"','"+price+"')";
db.execSQL(sql);
// ‘“+id+”’,‘“+icon+”’,‘“+title+”’,'“+price+”'意思是将变量id插入dbId,变量icon插入dbIcon
VALUE中的变量用 ‘“+变量名+”’ 来表示
点击查看:insert into插入变量的方法