【发布时间】:2022-01-16 07:58:13
【问题描述】:
我正在尝试使用 Postgresql 创建一个表,其中需要 name 的值。这意味着,如果我打算创建一个INSERT,我有义务填写name 的值。
我正在尝试这样创建:
CREATE TABLE person (
id SERIAL,
name VARCHAR(64),
height REAL,
PRIMARY KEY(id)
)
我不知道SQL中是否有“REQUIRED”,但在我的研究中我仍然没有找到它。
【问题讨论】:
-
id SERIAL NOT NULL -
取名
NOT NULL。一般来说,明确每一列是NULL还是NOT NULL,而不是将其保留为默认值,这是一个很好的策略。 -
非常感谢,原来如此。
-
如果您需要自定义验证规则,您可以将
NOT NULL约束与CHECK约束结合起来。例如,如果您需要所有至少三个字符的大写字母,您可以这样做:NOT NULL CHECK (length(name) >= 3 and name = upper(name)). -
非常感谢您,Impaler 先生,非常感谢 :)
标签: sql postgresql constraints