2015-03-24 5 views
0

Я хочу, чтобы фальсификаторы автоматически устанавливали столбец last_modified каждый раз при обновлении или вставке строки. Допустим, у меня есть идентификатор, который уникален для каждой строки.обновления и вставки триггеров в sqlite

Это мой запрос:

CREATE TRIGGER insert_trigger 
AFTER INSERT ON TABLE_NAME 

BEGIN 

update TABLE_NAME set last_modified =strftime('%Y-%m-%d %H:%M:%S:%s','now', 'localtime') where id = old.id; 

END; 

После создания этого триггера, когда я пытаюсь вставить я получаю ошибку:

no such column: old.id 

Я могу понять, почему я получаю эту ошибку, но как Я создаю правильный триггер?

+0

'% s' [отображается неверно] (http://www.sqlite.org/lang_datefunc.html); вы, вероятно, хотите '% H:% M:% f'. –

ответ

0

При вставке нет старой строки.

Чтобы получить идентификатор новой строки, используйте NEW.id.

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