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

    Aggiungere una 2° chiave primaria

    Ho una tabella che gestisco tramite Table Editor (per asp).
    Ho due campi:
    - UserID
    - Gioco

    UserID è Primary Key, indicizzata e unique.

    Ora ho bisogno di modificare una tabella e rendere anche Gioco chiave primaria.
    Il problema è che Table Editor mi permette di aggiungere una sola Primary Key. Se provo a metterne un'altra mi dice:
    codice:
    Microsoft JET Database Engine error '80004005'
    Primary key already exists.
    /public/tableeditor/te_fieldedit.asp, line 218
    Quindi avrei bisogno di farlo tramite SQL.
    Non l'ho mai fatto e non vorrei fare danni.
    Ho provato ad usare la query:

    ALTER TABLE TBgiochi ADD CONSTRAINT pkGame_Name PRIMARY KEY(Game_name)

    Ma mi da lo stesso errore di PK già esistente

    Credo che dovrei definirla come coppia... ma non so come fare :-(
    Ho cercato su MSDN, Google, etc. ma non sono riuscito a trovare niente
    di utile...
    Un aiuto?

    Grazie

  2. #2
    Può essitere una sola chiave primaria...
    ... al massimo puoi creare N relazioni tra quella tabella ed altre tabelle.

  3. #3
    Sì in pratica quella che uso è una relazione di intermezzo in sostituzione di una relazione N:M

    Ogni utente (N utenti in totale) ha più giochi (M giochi in totale).

    Nella mia tabella memorizzo UserID e CodiceGioco.
    Però ogni nupla deve essere diversa dall'altra e non posso usare solo l'UserID come chiave primaria.
    In pratica entrambi sono Primary Key e Foreign Key secondo la mia concezione.

    In Access basta selezionare i due campi ed impostarli come chiave primaria.

    Poi non so cosa questo comporti in SQL.
    Purtroppo sono un ignorantone

    Ad ogni modo, come posso realizzare quello che voglio fare?

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.