当前位置:  开发笔记 > 后端 > 正文

如何在Sqlite中指定主键

如何解决《如何在Sqlite中指定主键》经验,为你挑选了2个好方法。

如何将学生表中的指定属性(如StudentId)定义为sqlite中的主键



1> Sam Saffron..:
CREATE TABLE Student(
  id INTEGER PRIMARY KEY,
  first_name TEXT, 
  last_name TEXT
);

来自Sqlite规范:

SQLite无类型的一个例外是类型为INTEGER PRIMARY KEY的列.(并且必须使用"INTEGER"而不是"INT".类型为INT PRIMARY KEY的列与其他类型一样无类型.)INTEGER PRIMARY KEY列必须包含32位有符号整数.任何插入非整数数据的尝试都将导致错误.

http://www.sqlite.org/datatypes.html

您还可以在任意blobish数据上放置主键,例如:

CREATE TABLE Student(id PRIMARY KEY, name)

这有点冒险

INSERT INTO Student(1, "hello") 
INSERT INTO Student("1", "hello") 

将导致两行.

如果您需要对其他内容的唯一约束,可以尝试使用" 创建索引"命令


@Ic:"你不能拥有一个PK,因为SQLite中没有任何整数"是非常不正确的 - 你当然可以有一个TEXT PK(它当然不能自动增量); 你从哪里得到这个想法?

2> Alex Martell..:
CREATE TABLE Students (
  StudentId INTEGER PRIMARY KEY,
  Name VARCHAR(80)
)

是一个简单的方法.


@Sam,肯定 - 在SQLite中"一切都是字符串"(除了主键的约束有用为整数) - 我还是更喜欢仔细编写我的模式,所以当我写作时我不会绊倒他们在MySQL,PostgreSQL等等! - )
推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有