我在iphone中使用sqlite(3.7.4)。 我创建了一个像:
的表
create table A (UserName varchar (50) primary key, Num integer);
然后我将下面的记录插入两次:
('abc',1);
通常,DB中只应有一条记录。 但是我在DB中找到了
(abc,1);
( ,1);
我很困惑,因为UserName是primary key
,为什么有两条记录!
我不知道是什么问题。
任何人都可以帮助我吗?
答案 0 :(得分:1)
为什么要使用用户名作为主键。主键应该唯一标识记录。这是为什么当你第二次插入两次时你有主键约束违规
create table A (UserName varchar (50) primary key, Num integer, unique (UserName));