假设前端有一个输入表单用于用户注册。用户可以通过全名或公司名称进行注册。在这种情况下,处理null数据类型的最佳方法是什么?数据类型是否应该是具有默认值的NOT NULL?可能的情况是,不是每个用户在注册时都会同时使用全名和公司名称。
CREATE TABLE customer(
company_name VARCHAR(255),
full_name VARCHAR(255)
)发布于 2020-12-07 08:36:34
null通常是表示缺少数据的方式;在您描述的场景中,使用默认值似乎没有帮助。
Then:默认情况下,列可以为空。如果要强制执行两列中至少有一列不为空的规则,则可以使用check约束。向表中添加一个串行主键也是一个好主意。
create table customer(
customer_id serial primary key,
company_name varchar(255),
full_name varchar(255),
check (company_name is not null or full_name is not null)
);https://stackoverflow.com/questions/65174643
复制相似问题