在Informix数据库中创建主键,通常使用`CREATE TABLE`语句配合`PRIMARY KEY`约束来完成。以下是创建主键的基本步骤和示例:
1. 确定主键列:首先确定哪一列(或哪几列)应该作为主键。通常,主键列是唯一标识每条记录的列。
2. 编写`CREATE TABLE`语句:在`CREATE TABLE`语句中,使用`PRIMARY KEY`约束来指定主键。
以下是一个具体的例子,假设我们正在创建一个名为`employees`的表,并且我们想要`employee_id`列作为主键:
```sql
CREATE TABLE employees (
employee_id INT NOT NULL,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100),
PRIMARY KEY (employee_id)
);
```
在这个例子中:
`employee_id`列被声明为`INT`类型,并且设置为`NOT NULL`,这意味着每条记录都必须有一个`employee_id`。
`PRIMARY KEY (employee_id)`声明了`employee_id`列作为表的主键。
注意以下几点:
主键列不能包含重复的值,每个值必须是唯一的。
主键列不能包含`NULL`值。
一个表只能有一个主键。
如果主键列不是自动增长的,那么你需要确保在插入新记录时为该列提供一个唯一的值。如果你需要自动增长的主键,可以使用`SERIAL`数据类型或者使用`GENERATED ALWAYS AS IDENTITY`(在Informix 12.10版本及以上)。
以下是使用`SERIAL`数据类型的例子:
```sql
CREATE TABLE employees (
employee_id SERIAL NOT NULL,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100),
PRIMARY KEY (employee_id)
);
```
或者使用`GENERATED ALWAYS AS IDENTITY`:
```sql
CREATE TABLE employees (
employee_id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100),
PRIMARY KEY (employee_id)
);
```