> If what you really need is a text field with an length limit then varchar(n) is great, but if you pick an arbitrary length and choose varchar(20) for a surname field you're risking production errors in the future when Hubert Blaine Wolfeschlegelsteinhausenbergerdorff signs up for your service.
:D
[https://en.wikipedia.org/wiki/Hubert_Blaine_Wolfeschlegelste...]