↓ Ir al contenido
  1. Posts/

Tablas Estrictas Para Evitar Errores En SQLite

··245 palabras·2 mins·

SQLite suele permitir guardar casi cualquier tipo de dato en cualquier columna. Esa flexibilidad es útil, pero también puede ocultar errores: por ejemplo, insertar texto basura en una columna INTEGER.

La solución propuesta por el autor es usar tablas estrictas. Solo hay que añadir STRICT al final de la definición de la tabla:

CREATE TABLE personas (edad INTEGER) STRICT;

🛡️ Con esta opción, SQLite valida los tipos al insertar o actualizar datos. Un valor como '123' todavía puede aceptarse porque se convierte sin pérdida a número, pero 'basura' produce un error claro.

Además, las tablas estrictas rechazan tipos de columna inexistentes o mal escritos, como GARBAGE, JSON o UUID. Solo se permiten INT, INTEGER, REAL, TEXT, BLOB y ANY. Esta última opción conserva la flexibilidad cuando realmente se necesita.

⚠️ La principal desventaja es que una tabla existente no puede convertirse directamente: hay que crear otra, copiar los datos y corregir los valores incompatibles. También se requiere SQLite 3.37.0 o posterior.

💡 Explicación en pocas palabras
#

Una tabla estricta funciona como un filtro de calidad: evita que cada columna almacene datos de un tipo inesperado. Para la mayoría de las aplicaciones, esa validación temprana ayuda a detectar errores antes de que se conviertan en problemas difíciles de rastrear.

Más información en el link 👇

También publicado en LinkedIn.

Juan Pedro Bretti Mandarano
Autor
Juan Pedro Bretti Mandarano