我试图在我的数据库中运行它,但由于某些原因,我总是遗漏了正确的括号。有什么想法?
CREATE TABLE PET_OWNER
(
OwnerID Int NOT NULL IDENTITY(1, 1),
OwnerLastName Char(25) NOT NULL,
OwnerFirstName Char(25) NOT NULL,
OwnerPhone Char(12) NULL,
OwnerEmail VarChar(100) NULL
CONSTRAINT OWNER_PK PRIMARY KEY(OwnerID)
);发布于 2021-04-18 02:33:50
EShirvana的回答直接回答了您提出的问题。然而,我建议:
CREATE TABLE PET_OWNER (
OwnerID Int generated always as identity primary key,
OwnerLastName varchar2(25) NOT NULL,
OwnerFirstName varchar2(25) NOT NULL,
OwnerPhone varchar2(12),
OwnerEmail varchar2(100)
);区别:
primary key约束可以内联。老实说,我通常不认为将主键命名为单独的约束有多大用处(no harm).NOT NULL是多余的。这是作为主键的一部分。char()数据类型是做什么的吗?它用空格填充字符串,使它们与长度相匹配。使用可变长度字符串--为此,Oracle建议使用varchar2()。NULL比较难读,因为我必须区分NOT NULL和NULL,这需要比仅仅查看NOT NULL.更多的工作
发布于 2021-04-18 01:40:44
2个问题:身份和约束前缺少逗号:
CREATE TABLE PET_OWNER(
OwnerID Int GENERATED ALWAYS AS IDENTITY NOT NULL,
OwnerLastName Char(25) NOT NULL,
OwnerFirstName Char(25) NOT NULL,
OwnerPhone Char(12) NULL,
OwnerEmail VarChar(100) NULL,
CONSTRAINT OWNER_PK PRIMARY KEY(OwnerID)
);https://stackoverflow.com/questions/67141099
复制相似问题