【发布时间】:2014-08-08 01:17:18
【问题描述】:
我是 Android 新手。我想设计一个也有数据库的项目。在数据库中,我有在用户使用之前已经插入的稳定/常量表,还有我将使用从用户那里获得的信息插入或更新的表。我发现了一些适用于 Android 的有用 SQLite DatabaseHandler。使用该代码,我创建了一个不变的表,并插入了一些信息。
这是我在 DatabaseHandler 中的插入函数,
ContentValues values = new ContentValues();
values.put(KEY_TEST_KART_ID, iliski.getTest_kart_id());
values.put(KEY_DEGERLENDIRME_KART_ID, iliski.getDegerlendirme_kart_id());
values.put(KEY_RENK, iliski.getRenk());
values.put(KEY_SEKIL, iliski.getSekil());
values.put(KEY_MIKTAR, iliski.getMiktar());
values.put(KEY_DIGER, iliski.getDiger());
db.insert(TABLE_KART_ILISKILERI, null, values);
然后我插入下面的代码,
db.addKartIliskileri(new KartIliskileri(1,1,0,0,0,1));
我对插入没有任何问题,我的问题是当项目工作时,上面的代码每次都有效!我的意思是,如果我实际上有 15 行必须添加到表中,并且如果项目工作 2 次,那么我有 30 行用于该表,但我应该有 15 行!我怎么能避免呢? (我想在 MySQL 中使用 like)
【问题讨论】:
-
你应该有一个主键字段,这样可以防止重复记录。或者在您尝试插入数据之前,可以通过某种方式检查数据库中的数据。
-
插入数据时,插入时没有主键区域,sqlite会自动增加主键区域。但是当我尝试使用主键手动插入时,它可以防止重复记录。谢谢