Mysql
 sql >> Datenbank >  >> RDS >> Mysql

eindeutige ID in mehr als einer Tabelle [MySQL]

Was Sie brauchen, ist eine extern generierte Sequenz und verknüpfen Sie sie mit Ihren 2 Tabellen

Sie sollten sich ansehen, was flickr gemacht hat, schauen Sie sich diesen Link an:http://code.flickr.com/blog/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/

Sie erstellen die Tabelle, die die ID generiert:

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

und um die neue ID zu erhalten, machen Sie so:

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

Twitter hat kürzlich auch etwas namens Snowflake erstellt, Sie sollten in ihrem Github-Repository nachsehen

Aber schauen Sie sich hauptsächlich an, was flickr gemacht hat, es ist einfacher und kann leicht gehandhabt werden