Ciao, sto realizzando un'interfaccia che tramite php si collega ad un db MYSQL esistente.

Ora, ho un dubbio, nel db ho trovato questa tabella:

Codice PHP:
   CREATE TABLE `character_inventory` (
  `
guidbigint(20unsigned NOT NULL default '0' COMMENT 'Global Unique Identifier',
  `
bagbigint(20unsigned NOT NULL default '0',
  `
slottinyint(3unsigned NOT NULL default '0',
  `
itembigint(20unsigned NOT NULL default '0' COMMENT 'Item Global Unique Identifier',
  `
item_templateint(11unsigned NOT NULL default '0' COMMENT 'Item Identifier',
  
PRIMARY KEY (`guid`,`bag`,`slot`)
ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Player System'
In cui alcuni campi, fra cui guid sono messi come chiavi primarie.

Il problema è che il contenuto della tabella, specialmente nel campo guid contiene chiavi identiche:

codice:
guid bag slot  ...  .......
2     255  6    16 22417 
2     255  5    26 22422 
2     255  4    14 22416 
2     255  2    20 22419 
4     255  30  40 6120 
4     255  29  44 2362 
4     255  28  42 6122
Com'è possibile? Le chiavi non dovrebbero essere diverse le une dalle altre in un campo primary?
Se faccio un insert ottengo giustamente un errore di chiave duplicata.
So che si può usare IGNORE, ma non è comunque un uso sbagliato di primary?

Grazie per l'attenzione!