portable manager chrome sqlite sqlitemanager

chrome - sqlite manager windows



SQLite-¿Alterar el tipo de columna de una tabla? (4)

Alterar la tabla en SqliteManger

Pasos

  1. Abrir base de datos en sqlite administrar
  2. haga doble clic en el nombre de la tabla
  3. aparecerá una ventana emergente.

Estoy comenzando un proyecto que involucra una pequeña base de datos y estoy considerando usar SQLite. Si creo una tabla y definí una de las columnas como texto, pero todos los valores almacenados son enteros, ¿hay alguna manera de cambiar el tipo de datos de una columna? Estoy usando SQLite Manager y no puedo encontrar una función que me permita hacer eso. ¿Puedo hacerlo usando un comando SQL, o es una restricción de SQLite? Probablemente, incluso con esta restricción, uno puede encontrar un camino alternativo y crear una nueva tabla con los tipos de columna requeridos y luego importar datos en ella.

Saludos, Nick


Con sqllite manager 3.5 haz doble clic en la tabla que necesitas modificar


No, no hay una forma "rápida" de hacer esto con SQLite. No como puedes con MySQL. Deberá soltar la tabla y luego volver a agregarla.

Otra cosa a tener en cuenta es que SQLite es bastante flexible sobre el tipo de datos que puede poner en cada sección. Aquí hay un enlace que describe los tipos de datos y cómo funcionan: http://www.sqlite.org/datatype3.html

Otra opción podría ser utilizar MySQL si la característica de la que está hablando es un gran problema para usted. Todavía es gratis y es ideal para proyectos pequeños.


SQLite no admite completamente las sentencias ALTER TABLE. Lo único que puede hacer es cambiar el nombre de una tabla y / o agregar columnas. Si desea cambiar el nombre de una columna, su mejor opción es crear una nueva tabla con las nuevas columnas datatype / names, y soltar la tabla anterior para cambiar el nombre de la nueva.

Digamos que tiene una tabla y necesita cambiar el nombre de "campo-1" por "campo-2": Primero == >> cambiar el nombre de la tabla anterior:

ALTER TABLE original RENAME TO tmp;

Ahora crea la nueva tabla basada en la tabla anterior pero con el nombre de columna actualizado:
== >> crea una tabla con las columnas actualizadas

CREATE TABLE original( field_a INT , field_b INT );

Luego copie el contenido a través de la tabla original.

INSERT INTO origignal(field_a, field_b) SELECT field_a, field_b FROM tmp;

Por último, descarta la tabla anterior.

DROP TABLE tmp;