2012-05-23 3 views
1

Je pense que dans PostgreSQL, vous pouvez utiliser une fonction pour générer votre clé primaire dans une table au lieu de simplement utiliser auto_increment. Quelque chose de semblable à:Fonctions MySQL définies par l'utilisateur pour générer la clé primaire

CREATE TABLE `blah` (
    `id` bigint(20) unsigned NOT NULL my_generator_function(), 
    etc. 

my_generator_function() renverrait une bigint. Est-ce possible avec MySQL ou est-ce que je dois le faire à partir du code de l'application moi-même?

Répondre

2

Vous pouvez créer un déclencheur -

CREATE TRIGGER trigger1 
    BEFORE INSERT 
    ON table1 
    FOR EACH ROW 
BEGIN 
    IF NEW.id = 0 THEN -- generate new ID if zero is set 
    SET NEW.id = ...; -- write your code to generate new ID 
    END IF; 
END 
+0

c'est ce que je avais besoin, merci –

Questions connexes