2013-09-12 3 views
1

Я использую sqlite.Как создать триггер, содержащий сложную инструкцию

Это моя структура таблицы:

user_name | user_password 
---------------------------- 
user1  | password1 
user2  | password2 

Я хочу, что, когда я вставить пользователя, сначала необходимо определить, существует ли пользователь.

if exist 
    only update password 
else 
    insert user's name and password 

Итак, как создать триггер?

ответ

0

С этой конкретной схемой вам не нужен триггер. Вы можете просто использовать синтаксис INSERT OR REPLACE INTO.

INSERT OR REPLACE INTO users (user_name, user_password) 
VALUES ('user1', 'new_password'); 

Примечание: убедитесь, что у вас есть PRIMARY KEY или UNIQUE ограничение на user_name колонке.

Вот SQLFiddle демо

+0

Но если «user_name» не является основным и уникальным? – TangMonk

+0

@TangMonk Затем просто создайте уникальное ограничение для этого столбца. В противном случае (это означает, что имя пользователя не уникально), как вы предполагаете, чтобы обновить пароль ??? – peterm

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