Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pojemność rekordów SQL w praktyce, czyli o integralności danych w konkretnym projekcie
blackstone
post
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 19.03.2015

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


Tworze stronę internetową na której artykuły mają być zapisane w bazie danych i zastanawiam się jak mam to wykonać w praktyce. Chcę zapytać o dwie rzeczy :

1 ) Ile maksymalnie znaków może pomieścić jeden rekord bazy SQL ?
2) Co mogę zrobić jeżeli okazałoby się że artykuł zawiera więcej znaków niż jest w stanie pomieścić rekord w bazie danych ? Czy moge jakoś za pomocą jakiś komend PHP , SQL sprawić by automatycznie podczas dodawania artykułu jego treść została podzielona na kilka rekordów a potem łącznie (jako całość) zczytana z bazy danych, lub cokolwiek innego by nie przejmować się tym że tekst będzie za długi i będą problemy z jego >> INTEGRALNYM<< zapisem oraz odczytem ?

Pierwszy raz tworzę taki projekt a moja wiedza o bazach SQL i ich współpracy z PHP nie jest obszerna, więc nie mam żadnego wyborażenia jak to rozwiązać. Prosze o sugestie. Pozdrawiam i z góry dzięki za odpowiedzi (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #2





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




manual mysql -> typy danych -> a bedziesz widzial ile kazdy z typow moze pomiescic danych
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





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

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


Kod
LONGTEXT | 4,294,967,295 (232−1) bytes =  4 GiB

Starczy? (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
viking
post
Post #4





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

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


Jeszcze odpowiadając na 2. Normalna baza sypnie wyjątkiem
  1. CREATE TABLE test.test
  2. (
  3. id serial NOT NULL,
  4. nazwa character varying(10),
  5. CONSTRAINT test_pkey PRIMARY KEY (id)
  6. )
  7. WITH (
  8. OIDS=FALSE
  9. );
  10.  
  11. INSERT INTO test.test(nazwa) VALUES('aaa');
  12. -- Zapytanie zostało wykonane: dotyczyło jednego wiersza, w czasie 32 ms.
  13. INSERT INTO test.test(nazwa) VALUES('aaa1234567890');
  14. -- BŁĄD: wartość zbyt długa dla typu znakowego zmiennego (10) Stan SQL: 22001


W mysql różnie to bywa (IMG:style_emoticons/default/wink.gif) Strict mode chyba wymuszał ale już nie pamiętam. W innnym wypadku po porstu ucinał do długości nie przejmując się że dane są niepełne.
W przypadku przechwycenia błędu transakcja jest cofana. Duże pola mogą pomieścić około 1GB danych - w zależności od systemu.
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: 25.08.2025 - 03:56