add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE tablename (id INTEGER PRIMARY KEY, date TEXT, col TEXT);

INSERT INTO TABLENAME (date, col) VALUES
('2022-01-01', 'sometext'),
('2022-02-01', 'moretext');

SELECT * FROM tablename;
id date col
1 2022-01-01 sometext
2 2022-02-01 moretext
CREATE TRIGGER no_more_rows BEFORE INSERT ON tablename
BEGIN
SELECT RAISE(ABORT, 'No more rows allowed');
END;

CREATE TRIGGER no_updates BEFORE UPDATE ON tablename
BEGIN
SELECT
CASE
WHEN NEW.col IS NOT old.col THEN RAISE(ABORT, 'Update of col is not allowed')
END;
END;

INSERT INTO tablename (date, col) VALUES
('2022-03-01', 'newtext');
{
  "code": "SQLITE_CONSTRAINT_TRIGGER"
}
UPDATE tablename SET col = 'updated text' WHERE id = 1;
{
  "code": "SQLITE_CONSTRAINT_TRIGGER"
}
UPDATE tablename SET date = '2022-04-01' WHERE id = 1;