Как ограничить длину данных в sqlite3

2

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

ex: имя varchar (5), оператор Insert принимает более 5 символов.

Теги:
sqlite3

1 ответ

10
Лучший ответ

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню