Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [mysql] modificare l'id dei record

    ciao,

    ho una tabella in cui ci sono dei record.
    questi record hanno l'id che parte da id=2 in poi
    Adesso voglio modificare manualmente i primi 3 in modo da avere id=1,id=2,id=3
    mi ritrovo la tabella senza l'id=4
    se inserisco i dati manualmente e assegno a questi l'id =4 ci potrebbero essere dei problemi poi, o si può fare tranquillamente?

  2. #2
    Se l'id che vuoi inserire ed e' un buco nell'elenco lo puoi fare assegnando in modo esplicito il valore che ti pare (UPDATE o INSERT che siano) , ma se assegni un valore piu' alto si spostera' di conseguenza verso l'alto anche l'indice dell'auto increment.

    Ma al di la di un fatto puramente estetico come gia detto e ripetuto piu' volte, non ha senso modificare la chiave primaria, perche' la chiave primaria serve ad identificare in modo univoco un record e non dovrebbe avere nessuna relazione con il contenuto del record stesso cioe', deve "indicare" un record e non esprimere un valore nella tupla.

    Tra l'altro muovendo, cancellando e inserendo record non e' assolutamente detto che fisicamente l'id 4 sia messo dopo il 3 e prima del 5, ma potrebbe essere ovunque. l'ordinamento avviene con order by id e non con il posizionamento fisico del record nella tabella che e' random per definizione.


    .

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.