Я перемещаю базу данных с SQL Server на PostgreSQL и затрагиваю некоторые проблемы с контрольным ограничением в одной из таблиц. Версия PostgreSQL - 9.5.1.String Format Constraint В столбце PostgreSQL не работает
У меня есть таблица, которую я создал с ограничением проверки на одном из столбцов, чтобы обеспечить формат. Это работало в SQL Server. Идея состоит в том, что только значения, начинающиеся с букв AF и сопровождаемых тремя числовыми символами (например, AF001), могут быть введены в один из столбцов.
SQL, выглядел так, чтобы создать таблицу:
CREATE TABLE TableName (
referenceID VARCHAR(5) NOT NULL CHECK (referenceID LIKE 'AF[0-9][0-9][0-9]'),
comment VARCHAR(50) NOT NULL,
PRIMARY KEY (referenceID)
);
Но когда я пытаюсь ввести любые данные, которые он терпит неудачу. Пример ввода данных:
INSERT INTO TableName (reference, comment) VALUES ('AF000','A comment');
Ошибки я получаю:
ERROR: new row for relation "tablename" violates check constraint "tablename_referenceID_check"
DETAIL: Failing row contains (AF000, A comment).
********** Error **********
ERROR: new row for relation "TableName" violates check constraint "tablename_referenceID_check"
SQL state: 23514
Detail: Failing row contains (AF000, A comment).
Я предполагаю, что вопрос с фактической проверки ограничения, но я не уверен.