Я пытаюсь создать увеличивающий столбец в SQLite, чтобы сохранить информацию в том порядке, в котором она существует, в импортированном текстовом журнале и сгруппирована по элементу.SQLite3 increment partial key sequence
CREATE TABLE log (
row INTEGER PRIMARY KEY AUTOINCREMENT,
item TEXT,
info TEXT
);
Используя следующую таблицу, я хотел бы автоматически увеличивать «seq» относительно «item».
CREATE TABLE test (
item TEXT,
seq INTEGER,
info TEXT,
CONSTRAINT pk_test PRIMARY KEY (item, seq)
);
я пробовал различные вставки и постоянно получают нарушения UNIQUE/Constraint:
INSERT INTO test (item, seq, info)
SELECT item, (SELECT count(item) FROM test t WHERE l.item=t.item) + 1, info
FROM log l;
INSERT INTO test (item, seq, info)
SELECT item, (SELECT COALESCE(MAX(seq),0)+1 FROM test t WHERE l.item=t.item), info
FROM log l;
Когда я извлекаю CONSTRAINT, чтобы увидеть результаты, "след" всегда заканчивается до 1.
Спасибо! Это простой пример моей исходной проблемы, которая объединяет данные из 2 таблиц (объединенные) с последовательностью, ограниченной элементами в третьей таблице. –