none
¿Como inserto datos en una tabla con un campo autonumerico? RRS feed

  • Pregunta

  • Hola, mi problema es que quiero hacer un INSERT en un tabla pero la llave primaria es auto numérica y no quiero tener que hacer tantos INSERT con códigos diferentes cada vez.

    Este es la tabla:

    INSERT INTO MantenimientoControl 
    (
    CodigoMantenimiento,--este el código autonumerico
    TipoMantenimiento,
    CantidadKilometraje,
    Fecha,
    Subtotal
    )
    VALUES
    (
    '2',
    '168',
    '2009-04-18',
    '16500.00'
    )

    lunes, 18 de noviembre de 2019 3:40

Todas las respuestas

  • Hola Shadic1345:

    Si el código es autonumérico, no tienes que mencionarlo en la insert y el motor lo hará por tí.

    INSERT INTO MantenimientoControl 
    (
    TipoMantenimiento,
    CantidadKilometraje,
    Fecha,
    Subtotal
    )
    VALUES
    (
    '2',
    '168',
    '2009-04-18',
    '16500.00'
    ) 
    Nota: Si las columnas están definidas como númerícas (TipoMantenimiento, CantidadKilometraje y Subtotal), sus valores no van encerrados entre apóstrofes.

    lunes, 18 de noviembre de 2019 5:55
  • Como ya te han dicho, si quieres que el autonumérico funcione automáticamente, hay que omitirlo de la lista de campos del Insert, y como es lógico no añadir para ese campo un valor en el "values".

    Pero, ¿Y si realmente quieres insertar un valor específico en el campo autonumérico, en lugar de dejar que asigne automáticamente el siguiente valor disponible? Entonces se recurre a ejecutar la sentecia SET IDENTITY_INSERT;

    SET IDENTITY_INSERT MantenimientoControl ON
    
    INSERT INTO MantenimientoControl(... campos, incluyendo el autonumérico ...) VALUES (... valores, incluyendo el autonumérico ...)
    
    SET IDENTITY_INSERT MantenimientoControl OFF
    

    lunes, 18 de noviembre de 2019 9:46