我可以检查SQLite表中是否存在主键吗? [蟒蛇]

时间:2017-10-18 12:00:08

标签: python sqlite

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

1 个答案:

答案 0 :(得分: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')