1. Столкнулся с проблемой - не работает каскадность. Оказывается, что
SQLite foreign keys are disabled for compatibility purposes. You need to enable them manually right after each connection to the database.
con.execute("PRAGMA foreign_keys = ON")
2. Та же база, те же лица, только Windows взамест Linux.
имею триггер на представлении (поля OID, name, pid, total), приведено начало триггера:
CREATE TRIGGER [ListUsers_insert] INSTEAD OF INSERT ON ListUsers BEGIN -- valid: INSERT (name), INSERT (name, pid, total) -- Field checks SELECT RAISE(ABORT, 'OID can not be set') WHERE NOT new.OID IS NULL;
тут шаблон испытывает некое напряжение (откуда взялось значение у OID? Есть такое поле в представлении, знаю что это также и алиас для rowid, но это как бы не при чем здесь):
>>> s._conn.execute('INSERT INTO ListUsers (name,pid,total) VALUES (?,?,?)', ('YYY',510,10)) Traceback (most recent call last): File "<stdin>", line 1, in <module> sqlite3.IntegrityError: OID can not be set
замечу, что в линупсах с тем же файлом бд все это работает как ожидалось.