Python 尝试将列表添加到数据库中,是否有更好的方法?
基本上我的应用程序上有一个表单,你输入一个用户,它运行我刚才显示的代码。这将从用户那里获取评论/标题/正文。我想把评论添加到一列中,作为一个完整的列表,这样每次有人使用表单时,评论都会被删除。当我运行这段代码时,它会在(语法)处显示error,并指向我的g.d.execute行。我的做法是否错误?如何将列表添加到第1列第1行 编辑:Python 尝试将列表添加到数据库中,是否有更好的方法?,python,sqlite,flask,reddit,Python,Sqlite,Flask,Reddit,基本上我的应用程序上有一个表单,你输入一个用户,它运行我刚才显示的代码。这将从用户那里获取评论/标题/正文。我想把评论添加到一列中,作为一个完整的列表,这样每次有人使用表单时,评论都会被删除。当我运行这段代码时,它会在(语法)处显示error,并指向我的g.d.execute行。我的做法是否错误?如何将列表添加到第1列第1行 编辑: link_title = [] comments = [] username = request.form['user'] user = requests.get(
link_title = []
comments = []
username = request.form['user']
user = requests.get('http://www.reddit.com/user/{username}/comments.json?'.format(username=username))
j = json.loads(user.content)
for i in j['data']['children']:
link_title.append(i['data']['link_title'])
for i in j['data']['children']:
comments.append(i['data']['body'])
g.db.execute("UPDATE comments SET (user,title,comments) VALUES (?,?,?)", (request.form['user'], link_title, comments))
在用户/注释表中插入或删除任何内容时,我看不到任何约束。即使没有用户,我也可以将用户id添加到注释表中。我的代码/逻辑是否不正确?是,通过使用外键将列表项存储在单独的表中。在继续之前,您可能需要阅读数据库规范化的相关信息。:-)我现在有点理解你的评论了,我需要一个主表来保存所有数据,另一个表来保存数组,并将其链接到第一个表。我会在谷歌上多搜索一点,但如果我知道我在第一个表和链接表中放了什么,外键就是用来做什么的,那就不会让我头疼了;一个表中的行id在另一个表中用于“链接回”该行。但是数据库设计可以填满整本书,太多了,无法在注释中展开。我提出了一些我认为正确但不起作用的东西,你能看看我的编辑吗
cur.execute('PRAGMA foreign_keys = ON')
cur.execute('CREATE TABLE user(user_id integer primary key, username text)')
cur.execute('CREATE TABLE comments(comment_id integer primary key, title text, comments text, user_id, \
FOREIGN KEY(user_id) REFERENCES user(user_id))')