Saltar al contenido

Eliminar columna de la tabla SQLite

Solución:

De: http://www.sqlite.org/faq.html:

(11) ¿Cómo agrego o elimino columnas de una tabla existente en SQLite?

SQLite tiene soporte ALTER TABLE limitado que puede usar para agregar una columna al final de una tabla o para cambiar el nombre de una tabla. Si desea realizar cambios más complejos en la estructura de una tabla, tendrá que volver a crear la tabla. Puede guardar los datos existentes en una tabla temporal, eliminar la tabla anterior, crear la nueva tabla y luego copiar los datos de la tabla temporal.

Por ejemplo, suponga que tiene una tabla llamada “t1” con los nombres de columnas “a”, “b” y “c” y que desea eliminar la columna “c” de esta tabla. Los siguientes pasos ilustran cómo se puede hacer esto:

BEGIN TRANSACTION;
CREATE TEMPORARY TABLE t1_backup(a,b);
INSERT INTO t1_backup SELECT a,b FROM t1;
DROP TABLE t1;
CREATE TABLE t1(a,b);
INSERT INTO t1 SELECT a,b FROM t1_backup;
DROP TABLE t1_backup;
COMMIT;

En lugar de eliminar la tabla de respaldo, simplemente cámbiele el nombre …

BEGIN TRANSACTION;
CREATE TABLE t1_backup(a,b);
INSERT INTO t1_backup SELECT a,b FROM t1;
DROP TABLE t1;
ALTER TABLE t1_backup RENAME TO t1;
COMMIT;

Para simplificar, ¿por qué no crear la tabla de respaldo a partir de la declaración de selección?

CREATE TABLE t1_backup AS SELECT a, b FROM t1;
DROP TABLE t1;
ALTER TABLE t1_backup RENAME TO t1;
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *