Condividi
Error: Duplicate entry '0' for key 'PRIMARY'
Quando tento di eseguire una query sql su una mia tabella mysql, ricevo il seguente messaggio:
Error: Duplicate entry '0' for key 'PRIMARY'
Cosa significa questo errrore e come posso risolverlo?
Aperta
1
MySql
22-08-2024
2 Risposte
58 Visite
0
Risposte ( 2 approvate )
Il messaggio di errore:
viene visualizzato poiché nella tabella in cui viene eseguita la query esiste una colonna (quasi certamente un ID) definita come primary Key, e pertanto cercare di fare l'INSERT di un record per il quale il valore ID non è definito o è già presentei in tabella, produce l'errore di valore duplicato per la chiave primaria (che come si sà deve essere univoca), che poi questo valore sia zero o altro numero poco importa.
Per risolvere l'errore Duplicate entry for key 'PRIMARY', è necessario definire la colonna che contiene la chiave primaria come AUTO_INCREMENT.
Questo consentirà direttamente al motore di database MySql o anche MariaDB, di incrementare autonomamente di 1 il valore ID del campo ogni qual volta si inserisce un record, preservando così l'univocità della chiave primaria.
Per definire un campo ID "chiave primaria" come valore AUTO INCREMENTALE, bisogna modifica la tabella con la seguente istruzione sql:
Specificando AUTO_INCREMENT=1 stiamo dicendo al motore del database di partire dal valore numerico 1 per l'inserimento del primo record, ed anche se vi sono già dei record presenti, questo non comporterà un problema poiché la numerazione incrementale ripartirà dal valore numerico successivo a quello dell'ID dell'ultimo record.