sql >> Database >  >> RDS >> Mysql

unieke id in meer dan één tabel [MySQL]

Wat je nodig hebt is een extern gegenereerde reeks en koppel deze aan je 2 tabellen

Je zou moeten kijken wat flickr heeft gemaakt, kijk naar deze link:http://code.flickr.com/blog/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/

U maakt de tabel die de id genereert:

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

en om de nieuwe id die je maakt als volgt te krijgen:

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

Twitter heeft onlangs ook iets gemaakt met de naam sneeuwvlok, je zou in hun github-repository moeten kijken

Maar kijk vooral naar wat flickr heeft gemaakt, het is eenvoudiger en kan gemakkelijk worden afgehandeld



  1. Een MySQL-query schrijven die een tijdelijke kolom retourneert met vlaggen voor het al dan niet bestaan ​​van een item met betrekking tot die rij in een andere tabel

  2. Mysql voegt willekeurige datetime in een bepaald datetime-bereik in

  3. gebruik like in join met code igniter active records

  4. COALESCE-functie in TSQL