Spanish Añadir columna a una tabla

Discussion in 'Spanish Forum' started by Espinosa4, Jun 4, 2013.

  1. Espinosa4

    Espinosa4 Active Member Licensed User

    Hola a todos,

    ¿Me podríais ayudar por favor?
    Resulta que tengo una tabla dentro de una base de datos. En ella tengo valores de configuración y constantes almacenadas en campos distintos. Por ejemplo... tipousuario,horasanuales,colordefondo... etc... Ahora me encuentro en la necesidad de añadir un nuevo campo que cuando creé la tabla no lo necesitaba.

    ¿Se puede hacer? He visto que existe la opción ADD COLUMN para tablas sqlite pero entiendo que si usas este comando en versiones sqlite 3.1 o inferiores la base de datos no funciona.

    ¿Sería mejor si fuera posible renombrar la vieja tabla y crear copiar una nueva importando los datos?

    El tema de la actualización de las tablas y base de datos me lleva de cabeza y es que no acabo de comprender como puedo hacer nuevas versiones de programa en la que igual necesito añadir campos a una tabla / sustituir tabla pero conservando los datos viejos.

    Saludos
    Espinosa
     
  2. vampirbcn

    vampirbcn Active Member Licensed User

    Deberia funcionar

    "ALTER TABLE latabla ADD COLUMN lacolumna VARCHAR(100)"

    Saludos
     
  3. Espinosa4

    Espinosa4 Active Member Licensed User

    Gracias una vez más vampirbcn!!

    Desde un principio mi programa instala en el móvil una base de datos con sus correspondientes tablas. Hay tablas que no se tocan porque son datos fichos pero hay otras tablas en la que los usuarios van poniendo datos. El problema que planteo es que si actualizo la base de datos en el móvil porque he creado una tabla o he añadido un campo a otra si hago lo de "si existe hacer" no borra entonces tengo que hacer "Borrar archivo y luego copiar la nueva bd" perdiendo los datos almacenados en el móvil. Me podrías explicar si eres tan amable la forma correcta de proceder. Yo pensaba que las tablas irían sueltas y no dentro del mismo fichero de la base de datos. Si hubiera sido así, simplemente añadiendo la columna o copiando la nueva tabla todo estaría arreglado pero al copiarse todo de nuevo pierdo todos los datos.

    Recibe un cordial saludo
    Espinosa
     
  4. vampirbcn

    vampirbcn Active Member Licensed User

    Debes cambiar el planteamiento, bajo ningún concepto debes sustituir la base de datos por otra.

    Imaginemos que actualizas la app y necesitas añadir una tabla a la base de datos, debes hacerlo en tiempo de ejecución con sentencias SQL, lo mismo si debes añadir un campo a una tabla. No puedes sustituir la base de datos por otra, ya que esto comporta la perdida de información.

    básicamente deberás utilizar

    CREATE TABLE para crear nuevas tablas
    ALTER TABLE para añadir nuevos campos

    Un abrazo!!
     
  5. Espinosa4

    Espinosa4 Active Member Licensed User

    Ahhhh gracias vampirbcn!!! Esto es lo que necesitaba oir!!!
    Entendía más o menos algunos conceptos pero la regla de oro y que es más que lógica no la entendía.

    Un millón de gracias!!
    Un abrazo!!
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice