db2 中加自增id主键语句
时间: 2023-07-05 10:33:25 浏览: 138
在 DB2 中,可以使用 `GENERATED ALWAYS AS IDENTITY` 来创建一个自增长的主键。
以下是一个示例 SQL 语句:
```sql
CREATE TABLE mytable (
id INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INTEGER NOT NULL
);
```
在上面的示例中,`id` 列被定义为一个自增长的主键。`GENERATED ALWAYS AS IDENTITY` 用于告诉 DB2 在插入新行时自动生成该列的值。`START WITH 1, INCREMENT BY 1` 用于指定自增长序列的起始值和增量值。
注意,自增长列必须是表的主键。如果您已经有一个表并希望将一个自增长列添加为主键,可以使用 ALTER TABLE 语句:
```sql
ALTER TABLE mytable ADD COLUMN id INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY;
```
相关问题
db2中在已有数据的表a中加自增id主键语句
如果你想在一个已经存在的表中添加自增 id 主键列,可以使用以下 SQL 语句:
```sql
ALTER TABLE a ADD COLUMN id INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY
```
上面的 SQL 语句会向表 a 中添加一个名为 id 的自增长列,并将其设置为主键。需要注意的是,该表中已经存在的数据在添加自增 id 主键列时会被重新排序,因此在表中已经存在的数据行的 id 值并不一定是连续的。
如果你想要在添加自增 id 主键列时保持表中已有数据行的 id 值连续,可以使用以下步骤:
1. 创建一个新的带有自增 id 主键列的表 b,并将表 a 中的数据插入到表 b 中。
2. 删除表 a。
3. 重命名表 b 为 a。
以下是一个示例 SQL 语句:
```sql
-- 创建一个新表 b,带有自增 id 主键列
CREATE TABLE b (
id INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY,
col1 VARCHAR(50),
col2 INTEGER
);
-- 将表 a 中的数据插入到表 b 中
INSERT INTO b (col1, col2)
SELECT col1, col2 FROM a;
-- 删除表 a
DROP TABLE a;
-- 重命名表 b 为 a
RENAME TABLE b TO a;
```
上述 SQL 语句将在表 a 中添加一个自增 id 主键列,并将其设置为主键。同时,表中已存在的数据行的 id 值将保持连续。
db2 创建表自增主键
在 DB2 中,可以通过定义带有 IDENTITY 属性的列来实现自增主键。IDENTITY 是 DB2 中的关键字,用于定义自增列。创建自增主键的方法如下:
```sql
CREATE TABLE table_name (
id INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY,
column1 datatype1,
column2 datatype2,
...
);
```
在上面的语句中,`id` 列被定义为自增主键列。`GENERATED ALWAYS AS IDENTITY` 表示该列是自动生成的,并且使用 `START WITH` 和 `INCREMENT BY` 子句定义了自增列的起始值和步长。`PRIMARY KEY` 关键字指定了该列为主键。
需要注意的是,自增主键列必须是表中的唯一列,因此必须将其定义为主键。此外,自增主键列只能是整数类型,如 INTEGER 或 BIGINT。
创建表时,也可以使用 `ALTER TABLE` 命令来添加自增主键列:
```sql
ALTER TABLE table_name ADD COLUMN id INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY;
```
以上是在 DB2 中创建表自增主键的方法。
阅读全文