Mysql
 sql >> база данни >  >> RDS >> Mysql

Уникален, непредсказуем, 12-цифрен, целочислен идентификатор

Използвайте конкатенация на уникално увеличено число и произволно генерирано число.

Уникалното увеличено число гарантира, че резултатът е уникален, а произволно генерираното число го прави трудно предполагаем.

Това епросто и гарантирано, че няма сблъсъки (1). Резултатът енарастващ , отчасти случайни инепредвидими (при условие, че частта с произволно число е генерирана с добър PRNG).

(1):Трябва или да въведете id и random с нули или да ги разделите с някакъв нецифрен знак.

С MySQL db това се превежда като:

CREATE TABLE foo (
    id int not null auto_increment,
    random int not null,
    ...
    primary key (id)
);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Трябва ли да се предпазя от SQL инжекция, ако използвам падащо меню?

  2. Бавни заявки на инструмента за отстраняване на грешки в MySQL?

  3. Как да избера цял ред, който има най-голям идентификатор в таблицата?

  4. Проблемът с Percona 5.6 InnoDB не използва индексите правилно

  5. Как да синхронизирам конкретна таблица със същото име и име на база данни между две различни независими мрежи, където репликацията не е възможна?