2010-04-29 13 views
0

Comment puis-je créer une clé primaire pour un compte avec un format comme celui-ci:la création d'un format de clé primaire

ABC-123

ABC-124

ABC-125

autre exemple:

BCA-111

BCA-112BCA-113

et ainsi de suite. D'ailleurs, en utilisant im mysql, est-il possible de faire un incrément automatique en utilisant ce format?

Répondre

0
CREATE TABLE foo (
    prefix CHAR(3) NOT NULL, 
    num TINYINT NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY (prefix, num) 
) ENGINE=MyISAM; 

Cela ne stocke pas les deux parties du format de la clé que vous avez décrit dans une seule colonne, mais il ne supporte l'auto-augmentation. Et vous pouvez obtenir le format comme ceci:

SELECT CONCAT_WS('-', prefix, num) AS pkey ... FROM foo; 

Notez que InnoDB ne prend pas en charge les clés primaires composés auto-incrément.

Pour plus de détails, lire Using AUTO_INCREMENT.