![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Jak najlepiej dodać daną bigint (64 bit) do tabeli mysql, skoro php obsługuje maksymalnie 32-bitowe liczby?
Trzymać ją w stringu w php a następnie rzutować na bigint w mysql, czy moze da się przekazać mysql`owi dwie liczby typu int a mysql wykona coś typu: liczba1<<32 + liczba2 -------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
dużą liczbę możesz trzymać w stringu (pomocna może byc biblioteka BCMath), a MySQL to już chyba sam sobie przekonwertuje jak mu w zapytaniu dasz stringa
![]() -------------------- :]
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Sam nie wiem czy takie rzutowanie na string, a potem na liczbę jest sensowne.
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
A nie możesz po prostu ustawić typu pola w tabeli na BIGINT ? zgodnie z manualem MySQL powinno Ci to dać możlowość zapisywania liczb 64 bity (unsigned) lub ze znakiem 63 bity.
-------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Możesz trzymać to w stringu, gdyż zapytanie SQL to string. Zwróć uwagę, że w przykładowym
Nie ma tak naprawdę żadnej liczby - jest jedynie tekst, z punktu widzenia PHP. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
No proszę Ciebie, nie mów, że nie ma różnicy pomiędzy danymi liczbowymi a tekstowymi trzymanymi w bazie
![]() Aż pomyślałem, że pokaże na najprostszym przykładzie: Tabela z danymi w BIGINT:
Tabela z danymi w VARCHAR:
Jak widać dane są takie same w dwóch tabelach. Spróbuj teraz wykonać na obu tabelach takie zapytanie:
Jeśli nie widzisz różnicy w wynikach to przykro ![]() Każdy typ zmiennych w php ma swój odpowiednik w MySQL i tego się należy trzymać i nie kombinować, w końcu po coś zostało to wymyślone. -------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Każdy typ zmiennych w php ma swój odpowiednik w MySQL i tego się należy trzymać i nie kombinować, w końcu po coś zostało to wymyślone. ale nie wszystko można zrobić intem! Ja nie widzę problemu w trzymaniu liczb w stringach. Można je przecież i tak obrabiać za pomocą funkcji BC Math tudzież GMP -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat No proszę Ciebie, nie mów, że nie ma różnicy pomiędzy danymi liczbowymi a tekstowymi trzymanymi w bazie Ale tego nigdy nigdzie nie napisałem ![]() ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 20:09 |