我有一个记录用户,事件和页面访问的数据库。每个页面访问和事件都有一个会话编号和分配给他们的用户ID(以及其他一些东西)。
现在我的python脚本每次有事件或页面访问时都会创建一个新用户 - 这不应该发生,因为某些事件和页面访问可能在同一会话期间发生。
我想查询数据库以查看数据库中是否存在具有相同编号的会话,从而暗示用户也已经在数据库中。因此,如果会话编号已存在,则应返回用户,如果结果为None
,则将用户记录到数据库中。
该功能看起来像这样:
def find_user(session)
s = session
c.execute('FROM event SELECT user WHERE session=?', s)
但我不知道下一步该做什么。我不确定python如何解释结果,所以我不知道如何定义if
语句
另外,如果它们之间没有直接连接,我可以通过两个表查看相同的属性(会话)吗?
答案 0 :(得分:2)
使用fetchone
获取查询结果。
def find_user(session)
c.execute('SELECT user FROM event WHERE session=?', [session])
row = c.fetchone()
if row:
return row[0] # the first column: user
else:
return None
我稍微修改了一下SELECT语句。