sqlite - Как заставить INSERT OR IGNORE работать

Я пытаюсь вставить данные в таблицу. Я хотел бы вставить строку, если в столбце уже нет данных - независимо от других столбцов.

CREATE TABLE t (
    id          INTEGER PRIMARY KEY,
    name        VARCHAR,
    other       INT
);
INSERT OR IGNORE INTO t (name) VALUES ('a');
INSERT OR IGNORE INTO t (name) VALUES ('a');
INSERT OR IGNORE INTO t (name) VALUES ('a');

С приведенным выше фрагментом я получаю 3 строки, а не 1, как я бы подумал. Если это имеет значение, то фактический sql происходит внутриINSTEAD OF INSERT триггер, это просто простой тестовый пример.

Ответы на вопрос(2)

Ваш ответ на вопрос