Я пытаюсь создать таблицу, где мне это нужно, чтобы НЕ разрешать строки, где три поля одинаковы.Несколько уникальных столбцов в SQLite
Когда я создаю таблицу в Python с помощью SQLLite, я использую следующую, но я почти ничего не получаю. Обычно он останавливается после записи 2 записей, поэтому что-то, очевидно, верит в его дублирование.
CREATE TABLE CorpWalletJournal (
date INT,
refID INT,
refTypeID INT,
ownerName1 TEXT,
ownerID1 INT,
ownerName2 TEXT,
ownerID2 INT,
argName1 TEXT,
argID1 ID,
amount INT,
balance INT,
reason TEXT,
accountKey INT,
UNIQUE (ownerID1, ownerID2, accountKey, argID1)
);
Итак, я хотел бы базу данных, чтобы не допустить записи, где ownerID1, ownerID2, accountKey и argID1 являются одинаковыми.
Может ли кто-нибудь помочь мне с этим вообще?
Спасибо!
* Обычно он останавливается после записи 2 записей, поэтому что-то очевидно верят в его дублирование. * - Почему это очевидно? Какое сообщение об ошибке вы получаете, когда вставка выходит из строя? –
Вы не указали 'NOT NULL' на любых столбцах, так что, возможно, вы получаете нулевые значения, которые нарушают уникальное ограничение. Как выглядят данные после сбоя вставки? – Hollister