Libreoffice 基地。标识关键字
Libreoffice base. Identity keyword
要使用 SQL 命令行创建带有主键和名称的 table,我执行以下操作
CREATE TABLE "people"(
"id" integer primary key,
"name" varchar(255)
);
这会创建一个 table,我不得不担心设置是否正确
每条记录的主键。
CREATE TABLE "people2"(
"id" integer generated by default as identity,
"name" varchar(255)
);
table people2 现在帮我处理主键。它很好地自动生成。
要让 table 人自动填写主键,我可以执行以下操作:
ALTER TABLE "people"
ALTER COLUMN "id" integer IDENTITY
GUI 现在有点问题(它仅在重新打开 table 后才显示正确的主键)。如果我创建一个像 people2 这样的 table,我将列 id 作为主键。
有没有更好的方式在create语句中同时使用主键和自增?默认情况下生成的约束 作为标识 起初非常具有误导性。
子句 generated by default as identity
(和 generated always as identity
如果支持)是定义标识列的 SQL 标准方法。
请注意,在 table "people2" 中,您没有主键。您仅将其指定为标识列,而没有将其设为主键。您需要明确指定。
要使用 SQL 命令行创建带有主键和名称的 table,我执行以下操作
CREATE TABLE "people"(
"id" integer primary key,
"name" varchar(255)
);
这会创建一个 table,我不得不担心设置是否正确 每条记录的主键。
CREATE TABLE "people2"(
"id" integer generated by default as identity,
"name" varchar(255)
);
table people2 现在帮我处理主键。它很好地自动生成。
要让 table 人自动填写主键,我可以执行以下操作:
ALTER TABLE "people"
ALTER COLUMN "id" integer IDENTITY
GUI 现在有点问题(它仅在重新打开 table 后才显示正确的主键)。如果我创建一个像 people2 这样的 table,我将列 id 作为主键。
有没有更好的方式在create语句中同时使用主键和自增?默认情况下生成的约束 作为标识 起初非常具有误导性。
子句 generated by default as identity
(和 generated always as identity
如果支持)是定义标识列的 SQL 标准方法。
请注意,在 table "people2" 中,您没有主键。您仅将其指定为标识列,而没有将其设为主键。您需要明确指定。