小编Use*_*ser的帖子

在选择 while 循环时更新 sqlite 数据库

有一个 bash 脚本将对引用 sqlite 数据库的文件执行“一些魔法”\xe2\x84\xa2,并且在执行“一些魔法”\xe2\x84\xa2 后,应该更新数据库。这是简化的代码

\n\n
sqlite3 database.db "select NUMBER from table WHERE STATUS = \'N\'" | while read line; do\n    SELECTION=$(echo $line | awk -F\'|\' \'{ print $1 }\')\n    [some magic]\xe2\x84\xa2\n    sqlite3 database.db "update table SET STATUS=\'Y\' WHERE NUMBER=\'$SELECTION\'"\ndone\n
Run Code Online (Sandbox Code Playgroud)\n\n

一切正常,sqlite 数据库将被逐行读取,我可以对引用的文件执行“一些魔法”\xe2\x84\xa2,但我可以\xc2\xb4t 更新数据库中的行 - I\xc2\xb4ve出现错误:

\n\n
\n

错误:数据库已锁定

\n
\n\n

有人知道我如何在读取数据库时更新数据库吗?或者还有其他解决方案可以让我做到这一点吗?

\n

script bash sqlite bash-scripting

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×1

bash-scripting ×1

script ×1

sqlite ×1