Libreoffice基地。身份关键字

时间:2018-03-06 11:38:33

标签: libreoffice-base

要使用SQL命令行创建包含主键和名称的表,请执行以下操作

CREATE TABLE "people"(
"id" integer primary key,
"name" varchar(255)
); 

这会创建一个表格,我不得不担心正确的设置 每条记录的主键。

CREATE TABLE "people2"(
"id" integer generated by default as identity,
"name" varchar(255)
); 

表people2现在照顾我的主键。它很好地自动生成。

要将人员更改为自动填充主键,我可以执行以下操作:

ALTER TABLE "people"
ALTER COLUMN "id" integer IDENTITY

GUI现在变得有点儿麻烦(它只在重新打开表后显示正确的主键)。如果我创建一个像people2这样的表,我会将列id作为主键。

有没有更好的方法在create语句中一起使用主键和自动增量?默认情况下生成的约束作为标识首先会产生误导。

1 个答案:

答案 0 :(得分:0)

子句generated by default as identity(如果支持,则generated always as identity)是定义标识列的SQL标准方法。

请注意,在表格" people2"中,您没有主键。您只将其指定为标识列,但您没有将其设为主键。您需要明确指定。