var store = store = db.transaction(storename,'readwrite').objectStore(storename),request
请问这条语句什么意思啊
或者说下面为啥可以防止添加数据
//添加数据,重复添加会报错
var store = store = db.transaction(storename,'readwrite').objectStore(storename),request;
for(var i = 0 ; i < data.length;i++){
request = store.add(data[i]);
request.onerror = function(){
console.error('add添加数据库中已有该数据')
};
request.onsuccess = function(){
console.log('add添加数据已存入数据库')
};
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
问题没写清楚db是个什么对象
不过看描述和API我猜八成是IndexedDB
至于不能插入相同的数据,是因为你指定了KeyPath,KeyPath对应的字段是作为键的,有唯一性
跟列出的语句没有关系
如果需要插入相同的数据,应该在createObjectStore的时候使用{autoIncrement:true},并且不指定KeyPath
具体可参考:https://developer.mozilla.org...
这个就是indexedDB啊。键值对型的存储,你重复存了主键就会报错呗,
自己戳链接MDN