Pada akhirnya setiap string adalah nama kolom yang valid setelah diapit dalam tanda kutip ganda (MySQL mungkin tidak mematuhi aturan itu tergantung pada konfigurasinya. Ini tidak menggunakan tanda kutip ganda sebagai tanda kutip pengenal dalam instalasi default).
Namun jika Anda ingin menjadi lintas platform (seperti yang disarankan oleh tag DBMS yang berbeda), Anda harus memeriksa penyebut yang paling tidak sama.
Manual PostgreSQL memiliki definisi yang bagus ini:
Jadi, Anda harus memeriksa yang berikut ini dengan ekspresi reguler:
- diawali dengan huruf
- hanya berisi karakter (huruf) dan angka serta garis bawah
Jadi ekspresi reguler seperti berikut harus mencakup ini:
^[a-zA-Z_][a-zA-Z0-9_]*$
Karena SQL tidak peka huruf besar/kecil (kecuali tanda kutip ganda digunakan), huruf besar dan kecil diperbolehkan.