Natchnęła mnie jedna myśl i chcę posłuchać waszych opinii, porad i doświadczeń. Robimy sobie tablę w której mamy przykładowe pola imię i nazwisko. Ustalamy np takie coś:
imie varchar(20),nazwisko varchar(30)
Wszystko fajnie, mamy maksymalnie określoną wielkość. Ale jeśli chcemy zabezpieczyć się przed SQL injection dodając slashe, to musimy pomyśleć, że ktoś może mieć nazwisko z ' (O'Really) które ma 32 znaki (abstrahując - ale zawsze ktoś >> jakiś niedobry hakjer, może wpisać w pole 30 znaków ' <<). To co robić w taki przypadku? Deklarować np pole nazwisko varchar(60), ale ograniczać wpis przez 2 czyli do 30 znaków? Czy MySQL rezerwuje miejsce w pamięci dopiero jak wie, ile jest znaków w polu, czy z góry rezerwuje maksymalną ilość niezależnie od ilości wpisanych znaków?