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