Le problème avec l'utilisation de count, puis compter +1 comme clé, est que si vous deviez supprimer un enregistrement du milieu, vous finiriez avec une clé dupliquée générée. EG:
Key Data
1 A
2 B
3 C
4 D
maintenant supprimer B (nombre devient 3), et insérer E. Cette tente de faire la nouvelle clé primaire 4, qui existe déjà.
Key Data
1 A
3 C
4 D <--After delete count = 3 here
4 E <--Attempted insert with key 4
Vous pouvez utiliser la clé primaire et incrémentation automatique pour vous assurer que vous n'avez pas cette question
CREATE TABLE myTable
(
P_Id int NOT NULL AUTO_INCREMENT,
PRIMARY KEY (P_Id)
)
Ou vous pouvez utiliser GUID.Comment GUIDs travail est en créant un nombre entier de 128 bits (représenté comme 32 chaîne hexagonale char)
Key Data
24EC84E0-36AA-B489-0C7B-074837BCEA5D A
.
.
Il en résulte 2^128 valeurs possibles (reaaally grande), de sorte que les chances de valeurs similaires créées par un ordinateur est extrêmement petit. En outre, il existe des algorithmes pour aider à faire en sorte que cela ne se produise pas. Donc, GUID sont un très bon choix pour une clé aussi bien.
Quant à savoir si vous utilisez un entier ou un GUID, est généralement fonction de l'application, la politique, etc.
peut vous faire une colonne nommée « int »? De toute façon, je crois que vous vouliez dire 'id int indentity (1,1) clé primaire' –
Oui, je voulais dire id int. Corrigé maintenant, merci. – Raj