Как ограничить длину данных в sqlite3 - PullRequest
3 голосов
/ 24 ноября 2011

Можно ли ограничить длину данных для значения столбца в sqlite3?

ex: varchar name (5), оператор вставки может содержать более 5 символов.

1 Ответ

12 голосов
/ 24 ноября 2011

SQLite обрабатывает varchar(5) как text (т.е. неограниченную строку), но вы можете добавить ограничение CHECK к столбцу:

create table pancakes (
    name text check(name is null or length(name) <= 5)
)

Это даст вам ошибку «Сбой ограничения», если ваш name слишком длинный:

sqlite> create table pancakes (name text not null check(length(name) <= 5));
sqlite> insert into pancakes (name) values ('1234');
sqlite> insert into pancakes (name) values ('12345');
sqlite> insert into pancakes (name) values ('123456');
Error: constraint failed
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...