Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MariaDB] czym zastąpić primary key autoincrement
szczemp
post
Post #1





Grupa: Zarejestrowani
Postów: 149
Pomógł: 9
Dołączył: 9.12.2010

Ostrzeżenie: (0%)
-----


Planuję bazę danych, dość prostą , bo tylko z jedną tabelą. Ale chciałbym, żeby poszczególne wpisy miały jakiś alfaumeryczny id, tak żeby nie można było ich enumerować.
Myślałem, żeby przepuszczać 'coś' przez 'jakąś' funkcję skrótu. Ale 'co' i przez 'jaką' funkcję? A może to się inaczej robi?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Masz na mysli UUID?
Go to the top of the page
+Quote Post
szczemp
post
Post #3





Grupa: Zarejestrowani
Postów: 149
Pomógł: 9
Dołączył: 9.12.2010

Ostrzeżenie: (0%)
-----


Na pierwszy rzut oka chyba o to mi chodzi. Z tego co widzę, to w ciągu pojawiają się separatory w postaci '-'. Można bez nich? I ja kaki ciąg przechowywać, można w varchar?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




mozesz bez nich.
UUID jest stalej dlugosci wiec nie varchar araczej char
Go to the top of the page
+Quote Post
szczemp
post
Post #5





Grupa: Zarejestrowani
Postów: 149
Pomógł: 9
Dołączył: 9.12.2010

Ostrzeżenie: (0%)
-----


A jeszcze powiedz jak to jest generowane, bo zrobiłem prostą próbę i widzę, że dość podobne wartości są zwracane. Tylko w pierwszym segmencie widzę zmiany. I to gdy generuję w jakimś odstępie czasu. Jeśli zrobię
  1. SELECT UUID() AS u1, UUID() AS u2
to wartości są bardzo blisko siebie.
Pewne jest, że nie wygeneruje mi dwóch takich samych ciągów? Wynik pewnie zależy od czasu. Czy nie prościej przepuścić czas inserta przez choćby md5?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




https://dev.mysql.com/doc/refman/5.7/en/mis...l#function_uuid
masz tam wszystko napisane

Cytat
Two calls to UUID() are expected to generate two different values, even if these calls are performed on two separate devices not connected to each other.
Go to the top of the page
+Quote Post
viking
post
Post #7





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Kod
Warning

Although UUID() values are intended to be unique, they are not necessarily unguessable or unpredictable. If unpredictability is required, UUID values should be generated some other way.


Mysql dalej się nie dorobił typu danych do przechowywania uuid? Po stronie phpa masz bibliotekę https://uuid.ramsey.dev/en/latest/introduction.html
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 04:57