rscheel Well-Known Member Licensed User Longtime User May 18, 2016 #1 Tengo que agregar un nuevo campo a una tabla de una bd sqlite que usa mi app, el campo lo puedo agregar perfectamente un campo, el problema es que si el campo existe ya no debiera agregarlo, osea el ALTER TABLE ya no debería ejecutarse. Por ejemplo esto no existe en sqlite Code: ALTER TABLE `tabla` ADD COLUMN IF NOT EXISTS Hay alguna forma de hacer esto en sqlite?
Tengo que agregar un nuevo campo a una tabla de una bd sqlite que usa mi app, el campo lo puedo agregar perfectamente un campo, el problema es que si el campo existe ya no debiera agregarlo, osea el ALTER TABLE ya no debería ejecutarse. Por ejemplo esto no existe en sqlite Code: ALTER TABLE `tabla` ADD COLUMN IF NOT EXISTS Hay alguna forma de hacer esto en sqlite?
I inakigarm Well-Known Member Licensed User Longtime User May 18, 2016 #2 Has mirado si puedes tratarlo como una excepción en un Try - Catch ? (Ejecutar la orden SQLITE dentro de un Try y ver si salta excepción en el Catch) Otra forma sería consultar las columnas que tiene la tabla antes de ejecutar el ALTER TABLE. https://www.b4x.com/android/forum/threads/sqlite-database-pragmas.42035/
Has mirado si puedes tratarlo como una excepción en un Try - Catch ? (Ejecutar la orden SQLITE dentro de un Try y ver si salta excepción en el Catch) Otra forma sería consultar las columnas que tiene la tabla antes de ejecutar el ALTER TABLE. https://www.b4x.com/android/forum/threads/sqlite-database-pragmas.42035/
Descartex Well-Known Member Licensed User Longtime User May 18, 2016 #3 Muy buenas. Existe un comando en sqlite llamado pragma que devuelve una lista de los campos de una tabla: Code: PRAGMA table_info(table_name) http://www.sqlite.org/pragma.html#pragma_table_info Si la columna no existe, puedes añadirla con: Code: alter table mytable add column colnew char(50) Por ejemplo. Un saludo.
Muy buenas. Existe un comando en sqlite llamado pragma que devuelve una lista de los campos de una tabla: Code: PRAGMA table_info(table_name) http://www.sqlite.org/pragma.html#pragma_table_info Si la columna no existe, puedes añadirla con: Code: alter table mytable add column colnew char(50) Por ejemplo. Un saludo.
rscheel Well-Known Member Licensed User Longtime User May 18, 2016 #4 Descartex said: Muy buenas. Existe un comando en sqlite llamado pragma que devuelve una lista de los campos de una tabla: Code: PRAGMA table_info(table_name) http://www.sqlite.org/pragma.html#pragma_table_info Si la columna no existe, puedes añadirla con: Code: alter table mytable add column colnew char(50) Por ejemplo. Un saludo. Click to expand... Gracias @Descartex lo que me dices creo que es lo correcto, trate de buscar esto en el buscador del foro pero cada ves que colocaba ALTER TABLE o PROGRA me lo tomaba como inyección sql y me bloqueaba el acceso a la pagina, eso es una curiosidad.
Descartex said: Muy buenas. Existe un comando en sqlite llamado pragma que devuelve una lista de los campos de una tabla: Code: PRAGMA table_info(table_name) http://www.sqlite.org/pragma.html#pragma_table_info Si la columna no existe, puedes añadirla con: Code: alter table mytable add column colnew char(50) Por ejemplo. Un saludo. Click to expand... Gracias @Descartex lo que me dices creo que es lo correcto, trate de buscar esto en el buscador del foro pero cada ves que colocaba ALTER TABLE o PROGRA me lo tomaba como inyección sql y me bloqueaba el acceso a la pagina, eso es una curiosidad.