Ostatecznie każdy ciąg znaków jest poprawną nazwą kolumny, gdy jest ujęty w podwójne cudzysłowy (MySQL może nie przestrzegać tej reguły w zależności od konfiguracji. Nie używa podwójnych cudzysłowów jako cudzysłowów identyfikatora w domyślnej instalacji).
Jeśli jednak chcesz działać na wielu platformach (jak sugerują różne tagi DBMS), powinieneś sprawdzić najmniejszy wspólny mianownik.
Podręcznik PostgreSQL ma ładną definicję z tego:
Powinieneś więc sprawdzić następujące elementy za pomocą wyrażenia regularnego:
- zaczyna się na literę
- zawiera tylko znaki (litery) i cyfry oraz podkreślenie
Zatem wyrażenie regularne, takie jak poniższe, powinno to obejmować:
^[a-zA-Z_][a-zA-Z0-9_]*$
Ponieważ w SQL nie jest rozróżniana wielkość liter (chyba że używa się podwójnych cudzysłowów), dozwolone są duże i małe litery.