S
SQLite на практике
@sqliter2.3K подп.
4.2Kпросмотров
4 мая 2024 г.
Score: 4.6K
Современный SQLite: STRICT-таблицы Я начинаю марафон! Но не марафон желаний 😅 Буду вкратце рассказывать о полезных функциях современного SQLite, про которые вы (возможно) не слышали. Начнем со «строгих» таблиц. Как вы наверняка знаете, SQLite обладает гибкой системой типов (за что некоторые даже называют его «джаваскриптом в мире СУБД»). Вы можете хранить любые значения в столбцах любых типов: например, строки в INTEGER-столбце или бинарные данные в REAL-столбце. Кто-то любит SQLite за эту гибкость, другие ненавидят за нее же. Поэтому в какой-то момент авторы SQLite добавили «строгие» (STRICT) таблицы: create table people ( id integer primary key, name text, salary real ) strict; Они проверяют типы так же, как традиционные СУБД вроде PostgreSQL или MySQL: insert into people (name, salary) values ('Alice', 100); -- OK insert into people (name, salary) values ('Bob', 90.5); -- OK insert into people (name, salary) values ('Cindy', 'decent'); -- Runtime error: cannot store TEXT value -- in REAL column people.salary Даже в строгой таблице можно объявить столбец как ANY — тогда в нем можно хранить значения любых типов. Получается, можно взять лучшее от обоих миров — строгую проверку типов и опциональную гибкую типизацию. Работает в SQLite 3.37+ (ноябрь 2021). песочница • документация
4.2K
просмотров
1355
символов
Да
эмодзи
Нет
медиа

Другие посты @sqliter

Все посты канала →
Современный SQLite: STRICT-таблицы Я начинаю марафон! Но не — @sqliter | PostSniper