2017-10-18 218 views
-2

我正在创建一个登录系统,并在Python中使用SQLite3数据库。我有一个名为users的表格,其中包含用户在创建帐户时输入的用户名和密码。用户名是主键。我如何检查表中是否存在用户名,允许我提示用户选择不同的名称?谢谢。我可以检查SQLite表中是否存在主键? [python]

+0

添加更多信息。信息如:您正在使用哪个连接器?你使用任何ORM或者你是通过Custom-SQL来完成的吗? –

+0

@rossc在Android中,您遍历元数据,这会告诉您很多您可能会搜索在Python中执行相同的代码 – Grendel

回答

1
import sqlite3 
con=sqlite3.connect('your_database.db') 
cur=con.cursor() 

#----------*****----------# 
while True: 
     user_nm=input('Username: ') 
     if user_nm and user_nm.strip(): 
      user_nm=(user_nm.strip(),) 
      query='select exists(select 1 from users where username=? collate nocase) limit 1' 
      # 'query' RETURNS 1 IF USERNAME EXISTS OR 0 IF NOT, AS INTEGER(MAYBE). 'collate nocase'= CASE INSENSITIVE, IT'S OPTIONAL 
      check=cur.execute(query,user_nm) 
      if check.fetchone()[0]==0: 
       print('Username avalaible') 
       break 
      else: 
       try_again=input('Username is not available, try again (any key)/stop (s): ').lower() 
       if try_again=='s': 
        break 
     else: 
      print('Input something')