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

Заместител на функцията UUID версия 1 на MySQL?

Вашата загриженост, че „по-голямата част от UUID е безполезна и губи място“, е присъща на размера на типа данни. Никога няма да можете да имате толкова записи във вашата база данни, колкото позволява теоретичното ограничение от 16 байта.

Всъщност V1 UUID е по-подходящ от V4, ако използвате UUID само като идентификатор на таблица - защото използва MAC-адрес и времеви печат, за да предотврати сблъсъци. Във V4 няма такъв механизъм, въпреки че на практика не е нужно да се притеснявате твърде много за сблъсъци :)Трябва да използвате V4 UUID вместо V1, ако искате UUID да бъде непредсказуем.

Също така имайте предвид, че съставянето например на произволни стойности 4x4 байта може да не е същото като създаването на произволна стойност от 16 байта. Както винаги с крипто и произволността:Бих посъветвал да не прилагате своя собствена рутина UUID::V4.

Ако е инсталиран на вашата машина, можете да използвате php-uuid пакет.

Примерен код (който може да се използва във вашето приложение такъв, какъвто е) можете да намерите тук:http://rommelsantor.com/clog/2012/02/23/generate-uuid-in-php/

Използвайте го така:

$uuid = uuid_create(1);

Потребителите, които могат да инсталират пакети на своя уеб сървър, могат да инсталират необходимия пакет, като:(тук за ubuntu)

apt-get install php5-dev uuid-dev
pecl install uuid


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Пагинация за показване на максимална стойност и ограничаване на останалото

  2. Изберете ред и редове около него

  3. Подигравателна заявка за вмъкване към MySQL база данни с помощта на Moq

  4. Система за нулиране на парола в PHP

  5. Как да попълним gridview с mysql?