[Risolto] Ho cancellato la chiave primaria

Discussioni sulle caratteristiche di database
Rispondi
nicola.eremita
Messaggi: 7
Iscritto il: mercoledì 12 febbraio 2014, 13:05

[Risolto] Ho cancellato la chiave primaria

Messaggio da nicola.eremita »

ciao, sono un principiante dei database. Ho per errore cancellato la chiave primaria di una tabella :roll: .
Così facendo la tabella è diventata immodificabile. È possibile rimediare?
Come posso far sì che la tabella torni modificabile?
Attendo vostri suggerimenti, grazie mille!
Nicola :)
Ultima modifica di charlie il lunedì 25 maggio 2020, 9:07, modificato 1 volta in totale.
Motivazione: Aggiunto [Risolto] e ✔ verde
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: ho cancellato la chiave primaria

Messaggio da unlucky83 »

Quando mi succede, creo una nuova tabella e trasferisco i dati. Credo sia l'unico modo.
Come creare una nuova tabella e ripopolarla con i vecchi valori?
Farlo manualmente è soluzione accettabile quando i record sono pochi e non ci sono molte relazioni da riconfigurare.
Altre volte copio la tabella in calc, aggiungo la colonna per la chiave primaria, assegno valori univoci e importo i dati da calc in una nuova tabella base. Anche in questo caso si devono riconfigurare le relazioni manualmente.
Di rado sfrutto comandi sql. E' uno strumento potente e probabilmente offre strategie migliori.
Attendi il parere degli esperti perchè con Base ho poca dimestichezza.
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
nicola.eremita
Messaggi: 7
Iscritto il: mercoledì 12 febbraio 2014, 13:05

Re: ho cancellato la chiave primaria

Messaggio da nicola.eremita »

Grazie! :)
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: ho cancellato la chiave primaria

Messaggio da charlie »

A me non è mai successo ma ho voluto provarci, rimanendo in ambiente Base.
  • Apro in modifica la tabella e rendo chiave primaria uno qualsiasi dei campi esistenti. Naturalmente funziona solo se non ci sono "doppioni" nei record di quel campo.
  • Aggiungo un nuovo campo (ID ?) tipo Integer
  • Salvo e chiudo la tabella
  • La riapro in modalità esecuzione e scrivo tutti numeri partendo da 0 nel nuovo campo ID
  • Salvo e chiudo la tabella
  • La riapro in modalità modifica e con clic destro rendo chiave primaria il campo ID e lo imposto per l'autoincremento.
Ho fatto una prova e funziona.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
nicola.eremita
Messaggi: 7
Iscritto il: mercoledì 12 febbraio 2014, 13:05

Re: Ho cancellato la chiave primaria

Messaggio da nicola.eremita »

ciao grazie mille! :)
Rispondi