sql >> Database teknologi >  >> RDS >> Mysql

unikt id i mere end én tabel [MySQL]

Det du skal bruge er en ekstern genereret sekvens og link den til dine 2 tabeller

Du bør se på, hvad flickr lavede, se på dette link:http://code.flickr.com/blog/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/

Du opretter tabellen, der genererer id'et :

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

og for at få det nye id laver du sådan her :

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

Twitter har også for nylig lavet noget ved navn snowflake, du bør kigge i deres github-lager

Men se først og fremmest på, hvad flickr har lavet, det er enklere og nemt at håndtere



  1. Brug FILEGROUP_NAME() til at returnere navnet på en filgruppe i SQL Server

  2. hvordan man undslipper skilletegnet fra kolonneindholdet ved eksport af csv

  3. at vælge et specifikt tal som kolonneværdi i forespørgslen

  4. skabe tabeller og kolonner dynamisk ved hjælp af mysql python-stik