Mysql
 sql >> Base de données >  >> RDS >> Mysql

identifiant unique dans plusieurs tables [MySQL]

Ce dont vous avez besoin est une séquence générée en externe et liez-la à vos 2 tables

Vous devriez regarder ce que flickr a fait, regardez ce lien :http://code.flickr.com/blog/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/

Vous créez la table qui génère l'id :

CREATE TABLE `Tickets64` (
  `id` bigint(20) unsigned NOT NULL auto_increment,
  `stub` char(1) NOT NULL default '',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `stub` (`stub`)
) ENGINE=MyISAM

et pour obtenir le nouvel identifiant que vous créez comme ceci :

REPLACE INTO Tickets64 (stub) VALUES ('a');
SELECT LAST_INSERT_ID();

Twitter a également récemment créé quelque chose nommé flocon de neige, vous devriez regarder dans leur référentiel github

Mais regardez principalement ce que flickr a fait, c'est plus simple et peut être manipulé facilement