sql >> Databasteknik >  >> RDS >> Mysql

MySQL-schemanamn med bindestreck tillåter mig inte att utföra kommandoradsfråga

Bästa alternativet skulle naturligtvis vara att helt enkelt byta namn på din databas.

Vanligtvis när specialtecken förekommer i schema-/tabell-/kolumnnamn kan du fixa detta med backtick. Eftersom du försöker köra ett skalskript kommer det tyvärr att tolka allt inom backticks som ett kommando.

I MySQL kan du ställa in sql_mode "ANSI_QUOTES". Gör det som administratör/root (i MySQL) med

mysql> SET GLOBAL sql_mode="ANSI_QUOTES";

Kontrollera först om du redan har inställt några lägen med

mysql> SHOW VARIABLES LIKE 'sql_mode';

Om det redan finns lägen inställda, inkludera de i SET GLOBAL sql_mode uttalande (avgränsade med , ).

Du kan också ställa in det här alternativet i din my.cnf fil, så att detta läge tillämpas varje gång du startar din MySQL-server.

Effekten är att " är också tillåtet som citattecken. Men var försiktig så att du inte använder " i frågor för att ange vilken text som helst, använd enkla citattecken där istället.

  • läs mer om det här



  1. Hur får jag Java &Postgres enums att fungera tillsammans för uppdatering?

  2. Azure SQL Database Administration Tips and Hints Exam (DP-300)

  3. Hur ansluter man till Amazon RDS via SSL?

  4. Skapa profiler i Oracle för användarsäkerhet