React native 如何处理';唯一约束失败';SQLite中的异常
我是个新来的本地人 在我的应用程序中,我使用SQLite数据库作为本地数据库(主键是Reference No,这对每个记录都是唯一的)。在某些情况下,服务器会多次返回相同的记录,并希望避免向数据库中添加重复的记录 我想处理“唯一约束失败”异常。我尝试了一些解决方案,但对我无效。那我该怎么处理呢。请帮我解决这个问题 我的代码如下React native 如何处理';唯一约束失败';SQLite中的异常,react-native,sqlite,unique-constraint,React Native,Sqlite,Unique Constraint,我是个新来的本地人 在我的应用程序中,我使用SQLite数据库作为本地数据库(主键是Reference No,这对每个记录都是唯一的)。在某些情况下,服务器会多次返回相同的记录,并希望避免向数据库中添加重复的记录 我想处理“唯一约束失败”异常。我尝试了一些解决方案,但对我无效。那我该怎么处理呢。请帮我解决这个问题 我的代码如下 addNewJobs(jobs: any) { return new Promise((resolve) => { this
addNewJobs(jobs: any) {
return new Promise((resolve) => {
this.initDB().then((db) => {
db.transaction((tx) => {
tx.executeSql('INSERT INTO LI_New_Retail (' +
DBProperties.CONSTANT_TABLE_COLUMN_REFERENCE_NO + ', ' +
DBProperties.CONSTANT_TABLE_COLUMN_REQUEST_DETAILS + ', ' +
DBProperties.CONSTANT_TABLE_COLUMN_INSPECTION_HISTORY + ', ' +
DBProperties.CONSTANT_TABLE_COLUMN_LOCATION_CONFIRMATION + ', ' +
DBProperties.CONSTANT_TABLE_COLUMN_DATE_SCHEDULED + ', ' +
DBProperties.CONSTANT_TABLE_COLUMN_CHECKLIST + ', ' +
DBProperties.CONSTANT_TABLE_JSON_RESPONSE + ', ' +
DBProperties.CONSTANT_TABLE_COLUMN_UPLOADED_IMAGE_LIST
+ ') VALUES (?, ?, ?, ?, ?, ?, ?, ?)',
[jobs.referenceNumber, JSON.stringify(jobs.requestDetailsDTO),
JSON.stringify(jobs.inspectionHistoriesDtos), null,
JSON.stringify(jobs.dateScheduled),
JSON.stringify(jobs.pharmacyLocationChecklistsDTOS),
JSON.stringify(jobs), null])
.then(([tx, results]) => {
resolve(results);
})
}).then((result) => {
this.closeDatabase(db);
}).catch((error) => {
console.log("An error occured during data insert to db -- " + JSON.stringify(error));
this.closeDatabase(db);
});
}).catch((error) => {
console.log("adding new inspection jobs function error occured !!! -- " + error);
});
});
}
在表名中插入或忽略
是一种方法
如果记录与现有记录不重复,则MySQL将插入
一切照旧。如果记录是重复的,则忽略关键字
告诉MySQL以静默方式放弃它,而不生成错误
您是否尝试过将
插入或忽略到表名中,而不是将插入到…
?@HendEl Sahli,不,我以前从未使用过它。你能解释一下吗?如果你有唯一的限制。。。它要么添加新记录,要么忽略整个命令,如果有重复的记录。。。