2017-10-18 3 views
-2

私はログインシステムを作成し、PythonでSQLite3データベースを使用しています。私はユーザーと呼ばれるテーブルを持っていて、アカウントを作成するときにユーザーが入力するユーザー名とパスワードを含んでいます。ユーザー名は主キーです。ユーザーに別の名前を選択するように促すために、ユーザー名が既にテーブルに存在するかどうかを確認するにはどうすればよいですか?ありがとう。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') 
関連する問題