sql >> Database teknologi >  >> RDS >> Mysql

MySQL-skemanavn med bindestreg tillader mig ikke at udføre kommandolinjeforespørgsel

Den bedste mulighed ville selvfølgelig være blot at omdøbe din database.

Normalt når der optræder specialtegn i skema-/tabel-/kolonnenavne, kan du rette dette med backticks. Da du forsøger at køre et shell-script, vil det desværre fortolke alt inden for backticks som en kommando.

I MySQL kan du indstille sql_mode "ANSI_QUOTES". Gør det som administrator/root (i MySQL) med

mysql> SET GLOBAL sql_mode="ANSI_QUOTES";

Tjek først, om du allerede har indstillet nogen tilstande med

mysql> SHOW VARIABLES LIKE 'sql_mode';

Hvis der allerede er indstillet tilstande, skal du inkludere dem i SET GLOBAL sql_mode sætning (adskilt af , ).

Du kan også indstille denne mulighed i din my.cnf fil, så denne tilstand anvendes hver gang du starter din MySQL-server.

Effekten er, at " er også tilladt som anførselstegn. Men pas på, at du ikke bruger " i forespørgsler for at specificere enhver tekst, brug enkelte anførselstegn der i stedet.

  • læs mere om det her



  1. MySQL:Adgang nægtet for brugeren 'test'@'localhost' (ved hjælp af adgangskode:JA) undtagen root-bruger

  2. Forbind iPhone-appen til PostgreSQL ved hjælp af Libpq

  3. Hvordan henter jeg kommentaren fra en PostgreSQL-database?

  4. T-SQL for at finde Remote Server Name på den linkede server