在对视图进行数据更新(insert操作)的时候,出现报错:cannot modify a column which maps to a non key-preserved table。
经分析,原因:
不能直接对视图进行insert操作。
需要找到视图对应的基表,对基表进行insert操作,如果视图中关联两张表,则两张表都要插入对应的数据。
在修改数据表中某条记录时,为方便,可通过执行以下语句
select t.*,t.rowid from table where t.number =“1”;
执行完毕后,点击左上角进行解锁,进行编辑,编辑后加锁,记得保存提交。
当尝试在视图上执行INSERT操作时,遇到'cannot modify a column which maps to a non-key preserved table'错误。该错误表明不能直接在视图上进行数据插入,而需定位到视图所基于的原始表进行操作。若视图关联了多张表,需要在所有关联表中插入相应数据。为方便编辑表记录,可以使用SQL查询获取ROWID并解锁记录,编辑后记得保存并加锁。

3295

被折叠的 条评论
为什么被折叠?



