update报错了
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
var request=indexedDB.open('111',1)
request.onsuccess=function(){
console.log('创建表成功')
}
request.onupgradeneeded=function(){
console.log('版本更新了')
console.log(request.result)
var store=request.result.createObjectStore('test1',{keyPath:'id'})
store.createIndex('test1','id')
}
var json=[{
'id':10,
'name':'b'
},{
'id':11,
'name':'b2'
}
,{
'id':12,
'name':'b2'
}
,{
'id':13,
'name':'b2'
}
,{
'id':14,
'name':'b2'
}
,{
'id':23,
'name':'b3'
}
,{
'id':24,
'name':'b2'
}]
setTimeout(function(){
var db=request.result
var trans=db.transaction('test1','readwrite')
var store=trans.objectStore('test1')
console.log(store)
var index=store.index('test1')
var requestCur=index.openCursor()
requestCur.onsuccess=function(){
var cursor=requestCur.result
if(cursor){
// console.log(cursor.value)
if(cursor.value.name=='b3'){
console.log('1')
cursor.update({
'id':24222,
'name':'b333'
})
}
console.log(cursor.value)
cursor.continue()
}
}
// for (var i=0;i<json.length;i++) {
// var sus=store.put(json[i])
// }
// sus.onsuccess=function(){
// console.log('添加数据成功 add')
// }
},300)
</script>
</body>
</html>
正在回答
同学你好,id是默认的主键,是不能修改的。同学如下这样写,是把name设置为游标了,也不能改了哦。
建议:不要修改主键与游标的值,可以修改其他的内容,或者添加内容。
可以参考如下:
因为name是游标,所以每个的值,都应该不一样,例:
id与name要与原来的一致,不能修改,可以再添加一个属性,例:
祝学习愉快~
- 参与学习 人
- 提交作业 622 份
- 解答问题 6815 个
微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星