sql - 如何使用文件的内容更新 sqlite3 中的单个字段?

标签 sql sqlite

这相当于我的earlier question在这里,但是对于sqlite

和以前一样,我尝试使用 sqlite3 命令行客户端执行以下操作。

UPDATE my_table set my_column=CONTENT_FROM_FILE where id=1;

我看过the documentation.import 上,但这对于我想做的事情来说似乎有点重量级。

设置文件中某个字段的值的正确方法是什么?

我寻求的方法不应对文件的内容施加限制。

最佳答案

假设文件内容都是 UTF-8 文本,并且没有任何会被误解的引号字符,您可以这样做(假设 posix shell - 在 Windows 上尝试 cygwin):

$ echo "UPDATE my_table set my_column='" >> temp.sql
$ cat YourContentFile >> temp.sql
$ echo "' where id=1;" >> temp.sql
$ sqlite3
SQLite version 3.7.13 2012-07-17 17:46:21
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .read temp.sql

如果内容确实有单引号,请首先使用简单的查找和替换来转义它们(无论如何您都需要这样做)。

第一个!

关于sql - 如何使用文件的内容更新 sqlite3 中的单个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23575892/

相关文章:

mysql - 要转置的 SQL 查询(某种程度上)

c# - 如何在列表框中显示查询结果?

java - JDBC 的结果集给了我两次查询的第一行。为什么?

c# - 使用 navicat 打开与 SQLite 安全数据库的连接

python - Python 尝试使用一些 Twitter 数据更新 Sqlite3 数据库时数据类型不匹配

python - SAX 混淆 XML 中同名的两个节点

MySQL:存储在一行(平面)与多行(键值对)中的用户设置的性能

MYsql - 获取插入ID - sql

php - 一个脚本中包含大量 SELECT 和 INSERTS

sql - Django:ManyToManyField,带有附加列