我有一个数据库表叫细节,这里有三个感兴趣的栏目对我说:UNIQUE INDEX上的查询在遇到重复时返回什么?
| _id | Name | DOB | ......| .....
我在上面创建唯一索引 - 我想没有两行具有相同的名称和生日:
CREATE UNIQUE INDEX _id ON Details (Name, BirthDate);
现在我的问题的情况如下: 我从一个文件中读取 - 内部for循环 - 因为我插入一条记录到上表文件中的每一行,如果我的插入查询发现重复,它返回什么?我想停止for循环的迭代以在我找到重复并在下一次迭代时开始之后跳过插入语句。我如何检测这个?
以下是我的插入语句:
public void insert(String birthDate, String name, String daysOld, String hoursOld, String uRi, String minutesOld, String months, String seconds, String timestamP, String weeks, String years, String isAdhoc){
// InsertHelper ih = new InsertHelper(db, "columnTable");
String INUP= "INSERT OR REPLACE INTO Details (BirthDate, Name, isAdhoc, daysOld, hoursOld, imageUri, minutesOld, monthsOld, secondsOld, timestamp, weeksOld, yearsOld) " +
"values ("+"'"+birthDate+"'"+","+"'"+name+"'"+","+"'"+isAdhoc+"'"+","+"'"+daysOld+"'"+","+"'"+ hoursOld+"'"+","+"'"+ uRi+"'"+","+"'"+minutesOld+"'"+","+"'"+ months+"'"+","+"'"+ seconds+"'"+","+"'"+timestamP+"'"+","+"'"+weeks+"'"+","+"'"+years+"'"+");";
mDb.execSQL(INUP);
}
向我们展示您的java代码。当你执行一个SQL命令时,你应该检查返回的值。 – 2014-10-02 09:18:26
谢谢,我想要检查我的Java代码的哪一部分?插入语句?代码太大,我可以重现相关的片段。 – User3 2014-10-02 09:20:38
插入语句可能就足够了。 – 2014-10-02 09:23:03