kiltum (kiltum) wrote,
kiltum
kiltum

Задача: сгенерировать уникальную строку из заданного набора символов и поместить в базу. Грубо говоря, надо генератор серийников. Казалось бы, фигня вопрос, скрипт и вперед. Но мы не любим легких путей. У нас под рукой есть MySQL!

create table key_table(key_value varchar(256) not null, primary key (key_value), unique key(key_value));

DROP function if exists generate_alpha;
CREATE FUNCTION generate_alpha () RETURNS CHAR(1) RETURN ELT(FLOOR(1 + (RAND() * (19-1))), 'A','B','C','D','E','F','G','H','K','L','M','N','P','R','S','T','U','X','Z');

И вуаля. Генератор серийников готов.

делаем сколько надо

insert into key_table values(concat(generate_alpha (),generate_alpha (),generate_alpha (),generate_alpha (),"-",generate_alpha (),generate_alpha (),generate_alpha (),generate_alpha (),"-",generate_alpha (),generate_alpha (),generate_alpha (),generate_alpha (),"-",generate_alpha (),generate_alpha (),generate_alpha (),generate_alpha ()));

остальное - по вкусу.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 4 comments