SQLite的主键

本文概要

  • 创建主键
  • 添加主键
SQLite的主键是一个简单的字段或用于唯一地定义一个记录字段的组合。一个表只能有一个主键。
主键不应该是一个NULL值。
创建主键主键一般在创建表时创建的。我们定义主键在执行CREATE TABLE语句。
句法:
CREATE TABLE table_name ( column1 datatype [ NULL | NOT NULL ],column2 datatype [ NULL | NOT NULL ],...... CONSTRAINT constraint_name PRIMARY KEY (pk_col1,pk_col2,... pk_col_n) );

参数说明:
  • table_name的:它指定要创建表的名称。
  • 列1,列2:它指定要在表中创建列。
  • CONSTRAINT_NAME:它规定了主键的名称。
  • pk_col1,pk_col2,… pk_col_n:它指定组成主键的列。
例:
创建表“工人”,其中worker_id是主键。
CREATE TABLE WORKERS ( worker_id INTEGER PRIMARY KEY,last_name VARCHAR NOT NULL,first_name VARCHAR,join_date DATE );

添加主键当你还没有定义在CREATE TABLE语句主键它是用来,你必须在以后添加主键。
不能使用ALTER TABLE语句创建一个主键。相反,你必须创建一个主键的新表和旧表复制所有数据。
句法:
PRAGMA foreign_keys=off; BEGIN TRANSACTION; ALTER TABLE table_name RENAME TO old_table; CREATE TABLE table_name ( column1 datatype [ NULL | NOT NULL ],column2 datatype [ NULL | NOT NULL ],... CONSTRAINT constraint_name PRIMARY KEY (pk_col1,pk_col2,... pk_col_n) ); INSERT INTO table_name SELECT * FROM old_table; COMMIT; PRAGMA foreign_keys=on;

【SQLite的主键】参数说明:
  • Table_name: 它指定一个包含主键的新表。
  • Old_table: 它把必须更改的表格填满了。
  • Constraint_name:它指定primary_key的名称。
  • pk_col1,pk_col2,… pk_col_n: 指定构成主键的列的名称。

    推荐阅读