sqlite вставка с первичным ключом - PullRequest
1 голос
/ 13 июня 2011

Я использую sqlite (3.7.4) в iphone.Я создаю таблицу вроде:


create table A (UserName varchar (50) primary key, Num integer);

Затем я вставляю следующую запись дважды:


('abc',1);

Обычно в БД должна быть только одна запись.Однако я нашел в БД


(abc,1);
(  ,1);

Я запутался, что как UserName primary key и почему есть две записи!Я не знаю в чем проблема.Кто-нибудь может мне помочь?

спасибо.

1 Ответ

1 голос
/ 13 июня 2011

Почему вы хотите использовать имя пользователя в качестве первичного ключа. Первичный ключ должен уникально идентифицировать запись. Вот почему, когда вы вставили дважды во второй раз, у вас есть нарушение ограничения первичного ключа

create table A (UserName varchar (50) primary key, Num integer, unique (UserName));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...