Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    495

    applicazione java che invoca database mysql: Violation of PRIMARY KEY

    ciao!
    ho realizzato un'applicazione java (usando Netbeans) che invoca un database mysql e consente di realizzare query per selezionare dati e aggiornare il database.
    Quando però realizzo una query con l'insert i dati vengono inseriti nel database ma compare un un eccezione:

    Violation of PRIMARY KEY constraint 'PK_Table_1'. Cannot insert duplicate key in object 'dbo.Table_1'

    a cos'è dovuto questo errore ?come posso risolvere il problema?

  2. #2
    Vuol dire che non puoi inserire lo stesso valore 2 volte (per la pimary key, chiaro).

    Ti faccio un esempio per farti entrare in maniera semplice nel meccanismo

    Supponiamo il caso di avere una tabella strutturata in questo modo:

    -----------

    ID - Smallint(20), Primary key (1), Autoincrement;
    FIELD - VARCHAR(50);

    ------------

    Da questo momento ID è il campo portante della nostra tabella, ovvero quello che stabilisce, in questo caso, l'ordine numerale tra i dati.

    Quindi potremmo inserire piu' righe con valori come:

    ID 1:
    Field: Prima


    ID 2:
    Field: Prima


    ID 3:
    Field: Prima


    ID 4:
    Field: Prima

    Visto? Field è sempre uguale.Tuttavia l'id dovrà essere sempre diverso, altrimenti non esisterebbe un punto di riferimento per creare un certo "ordine" tra i valori, e al di fuori di questo, mysql nemmeno te lo permetterebbe, altrimenti immagina il chaos. :rollo:

    Una tabella MYSQL può funzionare anche senza una primary key (pur essendo una soluzione obsoleta e che ti sconsiglio a priori), ma dal momento che la tua la possiede, ora sai certamente che non ti è consentito ripetere un valore 2 volte, ammesso che stiamo parlando della nostra celebre chiavetta primaria


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.