如何在Sqlite中指定主键

时间:2009-07-09 04:16:59

标签: sqlite primary-key

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

中的主键

2 个答案:

答案 0 :(得分:14)

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") 

将导致两行。

如果您需要对其他内容的唯一约束,可以尝试使用Create Index命令

答案 1 :(得分:5)

CREATE TABLE Students (
  StudentId INTEGER PRIMARY KEY,
  Name VARCHAR(80)
)

是一种简单的方式。