sql >> Database >  >> RDS >> Mysql

Controleer op geldige SQL-kolomnaam

Uiteindelijk is elke tekenreeks een geldige kolomnaam zodra deze tussen dubbele aanhalingstekens is geplaatst (MySQL voldoet mogelijk niet aan die regel, afhankelijk van de configuratie. Het gebruikt geen dubbele aanhalingstekens als identificatie-aanhalingstekens in de standaardinstallatie).

Als u echter cross-platform wilt zijn (zoals de verschillende DBMS-tags suggereren), moet u controleren op de kleinste gemene deler.

De PostgreSQL-handleiding heeft een mooie definitie hiervan:

Controleer dus het volgende met een reguliere expressie:

  • begint met een letter
  • bevat alleen tekens (letters) en cijfers en een onderstrepingsteken

Dus een reguliere expressie zoals de volgende zou dit moeten dekken:

^[a-zA-Z_][a-zA-Z0-9_]*$

Aangezien SQL niet hoofdlettergevoelig is (tenzij dubbele aanhalingstekens worden gebruikt), zijn hoofdletters en kleine letters toegestaan.



  1. Hoe tel je in Redshift/Postgres rijen die aan een voorwaarde voldoen?

  2. Hoe de grootte van een gegevensbestand in SQL Server (T-SQL) te verkleinen

  3. Een CHECK-beperking inschakelen in SQL Server (T-SQL-voorbeeld)

  4. Hoe Hibernate Batch-insert werkt?