我开始学习sql,现在我正在Postgresql
编写项目。例如,我有这样的表格:
CREATE TABLE employee
(
id_employee serial NOT NULL,
name character varying,
surname character varying,
salary numeric,
position character varying,
login character varying,
password character varying,
CONSTRAINT employee_pkey PRIMARY KEY (id_employee )
)
我希望只有在列名和姓不包含数字时才允许插入新行。 有人可以帮我解决这个问题吗?
答案 0 :(得分:3)
首先,在弄乱名字之前,请阅读this article about names。请不要在名称上添加约束。理想情况下,甚至不要将“姓氏”和“名字”分开。
如果必须这样做,您可能需要基于正则表达式的约束。
CONSTRAINT name_no_numeric_chars
CHECK (name !~ '[[:digit:]]');