Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP/SQL] Inkrementacja z użyciem czasu uniksowego
ZenekN
post
Post #1





Grupa: Zarejestrowani
Postów: 419
Pomógł: 5
Dołączył: 7.08.2012

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


Cześć czy rozsądnym rozwiązaniem jest zastosowanie auto inkrementacji w bazie danych z użyciem czasu uniksowego ?
  1. 1404909434
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


nie bo i po co tracić tak dużą przestrzeń numeryczną ?
Jaki w tym cel i sens?
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Inkrementacja oznacza zwiększanie o jeden, czas nie będzie Ci się zwiększał o jeden.
2. Użycie czasu jest w ogóle bardzo słabym pomysłem, bo niczym nadzwyczajnym nie będzie jak nagle pojawi się kilka rekordów w tej samej sekundzie.
3. Jak nie chcesz "normalnej" inkrementacji, skorzystaj z unikalnego, "losowego" ciągu, chociażby w formie UUID.
Go to the top of the page
+Quote Post
ZenekN
post
Post #4





Grupa: Zarejestrowani
Postów: 419
Pomógł: 5
Dołączył: 7.08.2012

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


ok mam jeszcze jedno pytanie czy jest prawdopodobne jeśli będę generował id jako czas uniksowy co pewien odstęp w czasie np. co 45 minut (godzina i data) to nie powtórzy mi się ten sam kod dwa razy ?
Go to the top of the page
+Quote Post
Turson
post
Post #5





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Nie powtórzy się w bazie, bo przed zapisem wywali błąd, że primary key nie może się powtarzać. Nie czaję sensu używania czasu jako id zamiast dodać osobną kolumnę do tego, jeżeli potrzebujesz faktycznie do czegoś ten czas
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


W teorii nie.

Timestamp jako ID to jest ZŁY pomysł.
Go to the top of the page
+Quote Post
ZenekN
post
Post #7





Grupa: Zarejestrowani
Postów: 419
Pomógł: 5
Dołączył: 7.08.2012

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


Chcę utworzyć koszyk produktów który będzie przechowywał ileś tam tysięcy produktów, a nie za bardzo umiem rozwiązać inkrementację w odstępie co więcej niż więcej niż jeden produkt który będzie odpowiadał numerowi zamówienia.

Nie przewidzę ile będzie produktów w zamówieniu dla nich chcę nadać to samo id z tym że nie umiem wystartować z kolejnym id dla następnego zamówienia.
Go to the top of the page
+Quote Post
trueblue
post
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Zamówienia powinieneś przechowywać w jednej tabeli (autonumeracja id_zamowienie), natomiast pozycje zamówienia (produkty) w odrębnej. Powiązanie poprzez id_zamowienie.
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: 22.08.2025 - 13:27