Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试将列表添加到数据库中,是否有更好的方法?_Python_Sqlite_Flask_Reddit - Fatal编程技术网

Python 尝试将列表添加到数据库中,是否有更好的方法?

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(

基本上我的应用程序上有一个表单,你输入一个用户,它运行我刚才显示的代码。这将从用户那里获取评论/标题/正文。我想把评论添加到一列中,作为一个完整的列表,这样每次有人使用表单时,评论都会被删除。当我运行这段代码时,它会在(语法)处显示error,并指向我的g.d.execute行。我的做法是否错误?如何将列表添加到第1列第1行

编辑:

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))')