TGViewer
Кисель в АйТи | AI и технологии Кисель в АйТи | AI и технологии @kisel_it · 4.34K subscribers
Post #237 870
Причуды SQLite. Совсем недавно на оф. сайте SQLite набрёл на раздел "quirks", который рассказывает про "приколы" этой БД. Это просто баги и костыли к которым все привыкли. Многие даже не знают, что есть какие-то особенности вообще. Так что хочу с вами поделиться:

1. Типы данных не накладывают ограничений на типы данных в столбце. Это больше рекомендация, а не правило: Столбец с типом INTEGER может хранить текстовую строку. SQLite конечно попытается преобразовать строку в число, но если это не удастся, просто продолжит работать как ни в чем не бывало.
2. Отсутствие отдельных типов для BOOLEAN и DATETIME: В SQLite нет специальных типов для булевых значений или дат и времени. Вместо этого для BOOLEAN обычно используются целые числа 0 и 1, а для DATETIME — TEXT, REAL или INTEGER.
3. Столбцы могут вообще не иметь типа. Вы можете создавать таблицы, в которых у столбцов не указан тип данных.
Да, там появились STRICT-таблицы, но кто их использует?
4. NULL в PRIMARY KEY. Из-за старой ошибки, в SQLite столбец, являющийся PRIMARY KEY, может содержать значения NULL. Хотели пофиксить, но на эту "фичу" очень многие пользователи завязали логику работы своих приложений. Пришлось оставить во благо обратной совместимости.
5. Ключевые слова в качестве идентификаторов. SQLite позволяет использовать многие ключевые слова SQL в качестве имён для таблиц или столбцов без необходимости их экранирования.
6. Проверка внешних ключей (Foreign Keys) отключена по умолчанию. Хотя SQLite поддерживает внешние ключи, их проверка по умолчанию выключена. Чтобы её активировать, необходимо выполнить команду PRAGMA foreign_keys = ON; для каждого соединения с базой данных. Естественно этим тоже никто не пользуется и даже не подозревает в отсутствии проверки.


P.S Это между прочим самая популярная БД в мире, вне конкуренции. При этом её поддерживают всего 3 человека 😘

🔛 @kisel_it

#programming #sqlite
  • 🤔 8
  • ✍ 3
  • 👍 2
More from @kisel_it
  1. Oct 6, 2026Если вас забанил Anthropic или вы просто устали от ИИ - вот идея для кухни
  2. Oct 6, 2026https://www.instagram.com/reel/DeKNxr7gNcb/?stkn=MW1hdmVrODV0OXNlcA== https://youtube.com/…
  3. Oct 5, 2026Кажется, я нашёл, где можно нормально проверить своих ИИ-агентов в бою 😅 Сегодня зарегист…
  4. Oct 3, 2026Кажется, OpenAI тихо докрутили multi-agent режим на декстопе в ChatGPT. Сегодня дал ему за…
  5. Oct 2, 2026Антропики настолько переживают за будущее человечества и неконтролируемую гонку ИИ, что ре…
  6. Oct 1, 2026Я уже давно хотел завести рубрику про дни рождения людей, которые сильно повлияли на прогр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →