在Python Sqlite3中向同一列添加多个值

在Python Sqlite3中向同一列添加多个值,python,sql,database,sqlite,flask,Python,Sql,Database,Sqlite,Flask,我创建了一个表,在一个简单的社交媒体网站中存储每个用户的信息和数据。我有一列“friends”,我希望这个列有多个用逗号分隔的值。例如,“约翰、玛丽亚、蝙蝠侠等等”。很快,每当用户单击Follow按钮时,另一个人的名字就会被添加到“friends”列中 我使用了UPDATE方法,但它只使用一个值更新列…这是糟糕的DB设计。非常基本的示例-您应该有一个表用户和一个表朋友。在表freinds中,每行应该有一个朋友,用户id是链接到users表中相应用户的外键。用户和朋友之间将存在一对多关系。如果您计

我创建了一个表,在一个简单的社交媒体网站中存储每个用户的信息和数据。我有一列“friends”,我希望这个列有多个用逗号分隔的值。例如,“约翰、玛丽亚、蝙蝠侠等等”。很快,每当用户单击Follow按钮时,另一个人的名字就会被添加到“friends”列中


我使用了UPDATE方法,但它只使用一个值更新列…

这是糟糕的DB设计。非常基本的示例-您应该有一个表
用户
和一个表
朋友
。在表
freinds
中,每行应该有一个朋友,用户id是链接到
users
表中相应用户的外键。
用户
朋友
之间将存在一对多关系。如果您计划将每个用户的朋友以逗号分隔的列表形式存储在
朋友
列中,请不要这样做。
with sqlite3.connect('memory.db') as conn:
     cursor = conn.cursor()
     cursor.execute(
         "CREATE TABLE users (user_id char(50), name char(50), email char(50), password char(30), "
         "university char(50), birthday char(50), age char(10), hometown char(50), photo, status char(50), friends char(1000));")

     name = session['name']  #the name of the user
     name_search = session['name_search']  #the name of the person who we want to follow
     if name != name_search:  
         cursor.execute('''UPDATE users SET friends=? WHERE name=?''', (name_search, name))
         conn.commit()