lundi 10 août 2015

sqlite trigger after update syntax error

How ever I try to modify my trigger syntax, this error keeps getting up all the time, error near "ROWID" or "PERSONID". I just cant figure out what is wrong.

/* PERSON */

CREATE TABLE PERSON(
    PERSONID INTEGER NOT NULL,
    USERNAME VARCHAR(128) NOT NULL,
    MODERATOR BOOLEAN NOT NULL DEFAULT FALSE,
    SCORE INTEGER NOT NULL DEFAULT 0,
    CREATEDATE DATETIME NOT NULL DEFAULT (DATETIME('now')),
    MODIFYDATE DATETIME,

    PRIMARY KEY (PERSONID)
);

CREATE TRIGGER trg_personupdate AFTER UPDATE ON PERSON
    FOR EACH ROW
    BEGIN
        UPDATE PERSON
            SET MODIFYDATE = DATETIME('NOW')
            WHERE ROWID = new.ROWID;
    END;

sqlite outputs:

 13:51:28  [/* - 0 row(s), 0.026 secs]  Command processed. No rows were affected
 13:51:28  [CREATE - 0 row(s), 0.040 secs]  Command processed. No rows were affected
 13:51:28  [CREATE - 0 row(s), 0.000 secs]  [Error Code: 1]  [SQLITE_ERROR] SQL error or missing database (near "ROWID": syntax error)
 13:51:28  [END - 0 row(s), 0.000 secs]  [Error Code: 1]  [SQLITE_ERROR] SQL error or missing database (cannot commit - no transaction is active)
... 4 statement(s) executed, 0 row(s) affected, exec/fetch time: 0.066/0.000 sec  [0 successful, 2 warnings, 2 errors]

Aucun commentaire:

Enregistrer un commentaire