MSSQL Конфликт в ограничении
ALTER TABLE [table_name] ADD CONSTRAINT [name] CHECK ([column] = REPLACE([column], ' ', '') Конфликт в ограничении..,..., колонка [column]
ALTER TABLE [table_name] ADD CONSTRAINT [name] CHECK ([column] <> '') Все ок.
В чем может быть проблема? Такое чувство, что я не могу использовать функции. [column] строка и не может быть нул. Помогите. Спасибо) (пытаюсь создать ограничение на пробелы, также вот такое условие CHARINDEX(' ', [column]) = 0) не работает)
Ответы (1 шт):
Автор решения: rumata28
→ Ссылка
Я попробовал:
CREATE TABLE t1(name varchar(20))
GO
ALTER TABLE t1 ADD CONSTRAINT [name_no_space] CHECK (name = REPLACE(name, ' ', ''))
GO
INSERT t1 VALUES (' sd' )
GO
Результат:
Msg 547, Level 16, State 0, Line 6
The INSERT statement conflicted with the CHECK constraint "name_no_space". The conflict occurred in database "dbtest", table "dbo.t1", column 'name'.
The statement has been terminated.