我已编写查询以将数据添加到数据库,但想添加更多数据而不每次都删除数据库。我该如何写这样的查询?
我所拥有的:
category = (
(1, 'Sports'),
(2, 'Entertainment'),
(3, 'Politics'),
(4, 'Technology'),
(5, 'Health'),
(6, 'Business'),
(7, 'Travel Competition'),)
query2 = "INSERT OR REPLACE INTO users_category (Id, Name) VALUES (%s, %s)
cursor.executemany(query2, category)
我尝试过的方法:
category = (
(1, 'Sports'),
(2, 'Entertainment'),
(3, 'Politics'),
(4, 'Technology'),
(5, 'Health'),
(6, 'Business'),
(7, 'Travel'),
(8, 'Other'),) #new data
query2 = "INSERT INTO users_category (Id, Name) VALUES (%s, %s) ON CONFLICT (id) DO UPDATE SET Name = excluded.users_category.Name"
错误回溯:
Error invalid reference to FROM-clause entry for table
"users_category"
LINE 1: ... 'Sports') ON CONFLICT (id) DO UPDATE SET Name =
excluded.u...
^
HINT: There is an entry for table "users_category", but it cannot be
referenced from this part of the query.
所需结果:
一个脚本,用于向现有表中添加更多数据,而无需手动刷新先前的数据。
谢谢。
答案 0 :(得分:0)
这有效:
string bodyAsText = null;
if (request.ContentLength > 0)
{
var body = request.Body;
request.EnableRewind();
using (var streamReader = new StreamReader(request.Body, Encoding.UTF8))
{
bodyAsText = await streamReader.ReadToEndAsync();
request.Body.Seek(0, SeekOrigin.Begin);
}
request.Body = body;
}