2017-01-26 10 views
-1

Python/КОЛБУ:SQLite не принимает уникальную команду

cur = conn.cursor() 
cur.execute('CREATE TABLE IF NOT EXISTS users (email TEXT NOT NULL UNIQUE, password TEXT)') 
print('Table created') 

Тогда в другом методе

def create_user(email, hashedpw): 
    try: 
     cur.execute('INSERT INTO users VALUES (?, ?)', (email, hashedpw)) 
     conn.commit() 
     return "works" 
    except: 
     print(str(sqlite3.Error)) 
     return None 

Даже если входной же адрес электронной почты в 10 раз он до сих пор записывает данные в базе данных и Безразлично» t дать ошибку. Я ясно установил его на UNIQUE, тогда почему он не работает?

+0

Вы пробовали маркировать его как первичный ключ? –

+0

@ EmreTürkiş, он по-прежнему создает пользователя – garoo

ответ

1

Ваш синтаксис хорошо выглядит так единственное объяснение, которое приходит на ум:

У вас уже есть таблица с именем users в вашей базе данных, которая не имеет UNIQUE ограничения и так как вы используете IF NOT EXISTS, что таблица остается это.

 Смежные вопросы

  • Нет связанных вопросов^_^