ios - 带主键的sqlite插入

标签 ios sqlite

我在 iphone 中使用 sqlite(3.7.4)。 我创建了一个表:


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

然后我两次插入下面的记录:


('abc',1);

通常DB中应该只有一条记录。 但是我在数据库中找到了


(abc,1);
(  ,1);

我很困惑,因为用户名是主键,为什么会有两条记录! 我不知道出了什么问题。 谁能帮帮我?

谢谢。

最佳答案

为什么要使用用户名作为主键。主键应唯一标识记录。为什么在第二次插入两次时会违反主键约束

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

关于ios - 带主键的sqlite插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6326177/

相关文章:

ios - 为什么在 UITableView 中自定义单元格会收到错误 : hasn't received initWithFrame: or initWithCoder?

ios - 将自定义 UIView 添加到 UITableViewController

ios - 从 UICollectionView 中删除单元格而不从顶部重新加载

ios - 关于测试 iCloud 同步

python - 升级到 Peewee 2.6 后出现 sqlite3 InterfaceError

ios - 数据库无法加载 WatermelonDB react-native

ios - SQLite Drop Table导致Database is Locked错误

ios - 如果键盘阻塞了 TextView ,则移动 UIView

javascript - 使用JS向SQLite插入字符串没有语法错误

ios - FMDatabase 当前正在并发执行中使用