sql >> Base de Datos >  >> RDS >> Mysql

identificación única en más de una tabla [MySQL]

Lo que necesita es una secuencia generada externamente y vincularla a sus 2 tablas

Deberías mirar lo que hizo Flickr, mira este enlace:http://code.flickr.com/blog/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/

Creas la tabla que genera el 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

y para obtener la nueva identificación que haces así:

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

Twitter también hizo recientemente algo llamado copo de nieve, deberías buscar en su repositorio de github

Pero principalmente mire lo que hizo Flickr, es más simple y se puede manejar fácilmente