2011-01-24 23 views
30

En SQLite, cuando digo:SQLite VARCHAR tamaño predeterminado

CREATE TABLE my_table 
(
    my_column VARCHAR 
); 

sin especificar el tamaño de VARCHAR, ¿cuál es el tamaño predeterminado que se utiliza?

Parece que no puedo encontrarlo en sqlite.org o averiguarlo en mi archivo de base de datos.

Sé que SQLite no impone el tamaño cuando se trata de rellenar varchar(500) en varchar(30), pero ¿hay alguna desventaja en la especificación de tamaño inicial y cuáles son las mejores prácticas?

Respuesta

42

No importa.

SQLite no utiliza tamaños al declarar el tipo VARCHAR. De hecho, casi no usa el tipo tampoco.

Puede almacenar TEXT en una columna INT en SQLite. Y SQLite será never truncate una columna TEXT.

+0

¿Qué significa que la columna SQLite almacena un puntero a los datos reales? – lulalala

+1

No conozco el mecanismo de almacenamiento exacto que utiliza SQLite (un aspecto del "contrato SQL" es que no asumes nada sobre el mecanismo de almacenamiento subyacente) pero espero que use filas de longitud variable con los datos TEXT almacenados en la fila. –

Cuestiones relacionadas