none
INSERIRE COLONNA ID IN UNA TABELLA

    Question

  • Ho una tabella senza la colonna id. Adesso devo inserire questa colonna possibilmente senza creare un'altra tabella uguale.

    Come si può quindi su colonna appena aggiunta assegnare a tutti i record presenti nella tabella un id diverso?

    Vi prego rispondete al più presto

     

    Ps: sono in sql server 2008.


    • Edited by Stefano Fox Friday, September 30, 2011 10:20 AM
    Friday, September 30, 2011 10:04 AM

Answers

All replies

  • ciao, immagino che questa colonna id che devi aggiungere deve essere autoincrement e primary key giusto?
    Carmine Punella Blog: http://dotnetlombardia.org/b/remixx/default.aspx
    Friday, September 30, 2011 10:38 AM
  • Si. Solo che se metto la chiave primaria nella progettazione della tabella non mi fa salvare perché è una tabella che ha già dei dati.
    Friday, September 30, 2011 10:44 AM
  • ok, guarda io penso proprio che non sia possibile aggiungere una chiave primaria autoincrement dopo aver già popolato una tabella anche perchè per aggiungere delle colonne in tabelle già esistenti devi permettere i valori null a quel campo! Bene una chiave primaria autoincrement non accetta valori null! 
    Carmine Punella Blog: http://dotnetlombardia.org/b/remixx/default.aspx
    Friday, September 30, 2011 10:54 AM
  • E se imposto una nuova colonna non chiave primaria quindi con valori null, poi come posso fare un aggiornamento della tabella inserendo ad ogni record un id diverso?
    Friday, September 30, 2011 11:07 AM
  • Ho una tabella senza la colonna id. Adesso devo inserire questa colonna possibilmente senza creare un'altra tabella uguale.

    Come si può quindi su colonna appena aggiunta assegnare a tutti i record presenti nella tabella un id diverso?

    Vi prego rispondete al più presto

     

    Ps: sono in sql server 2008.


    Ciao Stefano,

    E' sufficiente aggiungere una nuova colonna numerica avente la proprietà IDENTITY come nel seguente esempio.

    Ciao!


    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.technet.microsoft.com/Forums/it-IT/sqlserverit
    • Marked as answer by Stefano Fox Monday, October 03, 2011 2:09 PM
    Friday, September 30, 2011 11:40 AM
  • ok, guarda io penso proprio che non sia possibile aggiungere una chiave primaria autoincrement dopo aver già popolato una tabella anche perchè per aggiungere delle colonne in tabelle già esistenti devi permettere i valori null a quel campo! Bene una chiave primaria autoincrement non accetta valori null! 
    Carmine Punella Blog: http://dotnetlombardia.org/b/remixx/default.aspx


    Ciao Carmine,

    Il ragionamento fila, peccato che i valori li autogenera la proprietà IDENTITY :-)

    Ciao!


    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.technet.microsoft.com/Forums/it-IT/sqlserverit
    Friday, September 30, 2011 11:49 AM
  • Ciao Lorenzo,

    quindi li genera in automatico anche se i campi sono già presenti nel db?


    Carmine Punella Blog: http://dotnetlombardia.org/b/remixx/default.aspx
    Friday, September 30, 2011 12:09 PM
  • quindi li genera in automatico anche se i campi sono già presenti nel db?


    Certo, trovi un esempio nella risposta che ho dato a Stefano.

    Ciao!


    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.technet.microsoft.com/Forums/it-IT/sqlserverit
    Friday, September 30, 2011 12:11 PM
  • Tutto ha funzionato alla perfezione, grazie.
    Monday, October 03, 2011 2:09 PM