我已经开始学习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 )
)

只有列名和姓氏不包含数字时,我才允许插入新行。
有人能帮我解决这个问题吗?

最佳答案

首先,在搞乱名字之前,请阅读this article about names。请不要对名称添加约束。最好不要把“姓”和“名”分开。
如果必须这样做,则可能需要基于正则表达式的约束。

CONSTRAINT name_no_numeric_chars
  CHECK (name !~ '[[:digit:]]');

关于sql - 仅当文本列不是数字时才添加新行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21074872/

10-10 03:34