SQLite Forum

Modify rowid via C-API callback
Login
Maybe try this (use a lower left shift for testing):

CREATE TABLE whereami (id INTEGER PRIMARY KEY, name TEXT UNIQUE, low INT AS (id<<32), high INT AS (id<<33)-1);

INSERT INTO whereami (id, name) values (4711,'Cologne');

CREATE TABLE something (id INTEGER PRIMARY KEY AUTOINCREMENT, thing TEXT);

INSERT INTO something SELECT low,'first record' from whereami where name = 'Cologne';

CREATE TRIGGER check_some BEFORE INSERT ON something BEGIN<br> 
SELECT RAISE(ROLLBACK,'table full') FROM whereami w, sqlite_sequence s WHERE w.name='Cologne' AND NEW.id between w.low and w.high AND s.name='something' and s.seq >= w.high;<br>END;


INSERT INTO something VALUES (NULL, 'local record');<br>
INSERT INTO something VALUES (1, 'foreign record');