none
Crear campo IDENTITY a Tabla creada RRS feed

  • Pregunta

  • Buen día.

         Tengo una tabla creada con sus campos y su clave primaria, pero el campo clave no es identity. Quisiera saber cómo puedo hacer que un campo que ya se encuentra creado sea IDENTITY (por cierto mi campo es de tipo INT)

    lunes, 12 de mayo de 2014 16:10

Respuestas

  • Buen día.

         Tengo una tabla creada con sus campos y su clave primaria, pero el campo clave no es identity. Quisiera saber cómo puedo hacer que un campo que ya se encuentra creado sea IDENTITY (por cierto mi campo es de tipo INT)


    La conversión con un "Alter Table" no la puedes realizar.
    Deberías crear otra tabla nueva con el campo identity y volcar los datos de la otra tabla con una sentencia insert select conservando o no el valor de identificación de la tabla anterior. 
    Después borras la anterior tabla y renombras la nueva.

    No te deja modificarla porque se creo y se lleno con otra estructura, sin una columna identity.



    Martín Fabregues
    Córdoba, Argentina

    • Marcado como respuesta KORNJAV_26 lunes, 12 de mayo de 2014 19:30
    lunes, 12 de mayo de 2014 16:50

Todas las respuestas

  • hola

    esto te puede ayudar

    Identity En SQL Server

    Creación de campos Autonuméricos (identity) en SQL Server.

    Sdos


    Martín Fabregues
    Córdoba, Argentina

    lunes, 12 de mayo de 2014 16:16
  • Muy bueno tus artículos e intenciones, pero no me sirve.

    Ya intente entrando en el diseñador y me indica que debo borrrar y recrear la tabla cosa que me parece absurdo. También intenté haciendo un ALTER TABLE ALTER COLUMN column Tipo IDENTITY(1,1).

    Saludos.

    lunes, 12 de mayo de 2014 16:41
  • Buen día.

         Tengo una tabla creada con sus campos y su clave primaria, pero el campo clave no es identity. Quisiera saber cómo puedo hacer que un campo que ya se encuentra creado sea IDENTITY (por cierto mi campo es de tipo INT)


    La conversión con un "Alter Table" no la puedes realizar.
    Deberías crear otra tabla nueva con el campo identity y volcar los datos de la otra tabla con una sentencia insert select conservando o no el valor de identificación de la tabla anterior. 
    Después borras la anterior tabla y renombras la nueva.

    No te deja modificarla porque se creo y se lleno con otra estructura, sin una columna identity.



    Martín Fabregues
    Córdoba, Argentina

    • Marcado como respuesta KORNJAV_26 lunes, 12 de mayo de 2014 19:30
    lunes, 12 de mayo de 2014 16:50
  • Lastima que SQL Server No permita eso. Gracias esa era la respuesta entonces a mi problema
    lunes, 12 de mayo de 2014 19:30
  • Hola KORNJAV_26

    Impedir guardar cambios que requieran volver a crear tablas, es el comportamiento por defecto que tiene Microsoft Sql Server Management.

    En el menú de Herramientas elije Opciones luego ve a la Diseñadores y Diseñadores de tablas y base de datos, en la parte derecha quita la marca en "Impedir guardar cambios que requieran volver a crear tablas"

    Ahora ve al diseñador y dile que quieres que al campo sea Identity.

    Saludos.

    Mauricio

    martes, 13 de mayo de 2014 15:26
  • Hola KORNJAV_26

    Impedir guardar cambios que requieran volver a crear tablas, es el comportamiento por defecto que tiene Microsoft Sql Server Management.

    En el menú de Herramientas elije Opciones luego ve a la Diseñadores y Diseñadores de tablas y base de datos, en la parte derecha quita la marca en "Impedir guardar cambios que requieran volver a crear tablas"

    Ahora ve al diseñador y dile que quieres que al campo sea Identity.

    Saludos.

    Mauricio

    No es lo recomendado, por algo viene bloqueado por defecto.
    Que pasa si en su campo int tiene algún valor duplicado? 

    Mesaje de error cuando intenta guardar una tabla en SQL Server

    Sdos


    Martín Fabregues
    Córdoba, Argentina


    martes, 13 de mayo de 2014 15:52
  • Hola Martín.

    No he tenido problemas, sera que estado en desarrollo a tener en cuenta en producción gracias...

    <<Que pasa si en su campo int tiene algún valor duplicado?

    Como manifiesta KORNJAV_26 es un clave primaria, no puede tener duplicados.

    Saludos.

    Mauricio

    martes, 13 de mayo de 2014 16:40
  • La solución mas práctica es eliminar tu PK actual luego creas tu nueva PK IDENTITY y eso seria todo ya que al momento de crear la pk identity se llenan automáticamente según el orden de creación.

    NOTA: si tienes ya relaciones con la PK actual primero debes eliminar esas relaciones.

    saludos.

    martes, 6 de marzo de 2018 15:47
  • Graciaaaaass !!!

    Funcionó de maravilla

    lunes, 21 de octubre de 2019 14:33