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